+ 1
How to make IF statement to compare string corectly?
When i making âifâ statement like: If (yourAge>=18 && yourName==âTomasâ) { System.out.println(âWelcomeâ); } else { System.out.println(âaccess deniedâ); } Iâm getting that access denied all the time even if i put correct answer for welcome condition
4 Answers
+ 7
The equals method doesn't support boolean operators inside them, you have to do separately
In your code the "if" statement doesn't stop the code if it's condition is true, so what happens is that after testing the "if (yourAge<=18)" the code keeps running to the next "if" statement. The more simple solution is to nest "else if" and "else" statements.
Here is an example with everything that I said:
https://code.sololearn.com/chhXk9s5tn7B/?ref=app
+ 6
When you use the "==" you compare the location in memory, this does not work on strings. In strings use "equals()" to compare two words. Example: yourName.equals("Tomas").
0
Works like magic..thanks a lot
0
I have 2 other problems:
donÂŽt know how to add more conditions for names...
like:
if (yourName.equals("Tomas"||"Adam"||"John")
And if i write code like this:
String yourName;
int yourAge;
System.out.println("Hello type your name please");
Scanner UserInput = new Scanner(System.in);
yourName = UserInput.nextLine();
System.out.println("Hello, your name is: "+yourName);
System.out.println("what is your age?");
UserInput = new Scanner(System.in);
yourAge = UserInput.nextInt();
if (yourAge<=18)
{
System.out.println("Access denied");
}
if(yourAge>18 && yourName.equals("Tom"))
{
System.out.println("Welcome");
}
else
{
System.out.println("You are not welcome");
}
it add "else" answer even if want only the "access denied" when i put in age like 15..