Java Java Method for Checking Y or N: A Beginner's Guide

  • Thread starter Thread starter JaysFan31
  • Start date Start date
  • Tags Tags
    Method
AI Thread Summary
The discussion centers on creating a Java method that checks if a given string is either "Y" or "N" (case insensitive). The original code attempts to use a switch statement but encounters compilation errors due to incorrect variable usage. Suggestions include checking the string's length first to ensure it is exactly one character. If the length is valid, the character can be converted to uppercase and compared against 'N' and 'Y'. An alternative approach proposed is using the equals method to directly compare the string against "Y", "y", "N", and "n". Overall, the focus is on ensuring the method correctly identifies the specified characters while avoiding common pitfalls in Java syntax and logic.
JaysFan31
I'm very new to Java and I was looking for some help on this particular problem.

I need to create a method that takes a String as a parameter and returns "true" if the parameter is the letter Y or the letter N (in either upper or lower case), or false otherwise.

Most of the methods we've been working on are numbers (integers mostly) not strings, so this one confuses me quite a bit. How do you make the computer look for a certain character like y, Y, n, N. I don't want to declare them as variables, I just want Java to see them as letters.

I have:
public static boolean isYorN(String str)
{
boolean character;
switch (character)
{
case 'y':
character = true;
return true;
break;

case 'Y':
character = true;
return true;
break;

case 'n':
character = true;
return true;
break;

case 'N':
character = true;
return true;
break;

default:
character = false;
return false;

}
}
}

I think a switch case is the best method, but I'm missing something about naming because all my compiling errors are telling me that I have incompatible types (i.e. found: boolean, required: int).

Thank you in advance for any help.
 
Technology news on Phys.org
The switch would be the best method if you were looking at a single character.
I would try looping through an array testing each character.
 
Well, I would stay away from switch statements if possible.

I would first check if the String(bottom line it is sequence(array) of chars) is of length 1 if not return false.

if(str == null || str.length != 1){
return false;
}

now since the string is of length 1, let's get the char and see if it is N or Y.

char chr = Charachter.toUpperCase(str.getCharAt(0));

return char == 'N' || char == 'Y';
 
haki said:
char chr = Charachter.toUpperCase(str.getCharAt(0));

return char == 'N' || char == 'Y';

I'm sure you meant return chr == 'N' || chr == 'Y';

I think haki's way is the smartest here, but as the most basic you could also just do:

return str.equals("Y") || str.equals("y") || str.equals("N") || str.equals("n");
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...

Similar threads

Replies
13
Views
4K
Replies
0
Views
311
Replies
3
Views
4K
Replies
9
Views
2K
Replies
7
Views
3K
Replies
1
Views
2K
Back
Top