CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   Java and JSP (http://www.codingforums.com/forumdisplay.php?f=54)
-   -   Java: cannot figure why code is not logically correct (http://www.codingforums.com/showthread.php?t=32834)

bennycs 02-05-2004 10:25 PM

Java: cannot figure why code is not logically correct
 
whenever I enter y or Y and call the method it should print out OK, but it doesn't it skips all the else if's and executes the last else statement "terminating" any suggestions why? i included the import java.lang.String .....thanks

public void checkVariable()
{
if(checkString == "y" || checkString == "Y")
{
System.out.println("OK");
}
else if(checkString == "yes" || checkString == "Yes")
{
System.out.println("OK");
}
else if(checkString == "ok" || checkString == "OK")
{
System.out.println("OK");
}
else if(checkString == "sure" || checkString == "Sure")
{
System.out.println("OK");
}
else if(checkString == "why not?" || checkString == "Why not?")
{
System.out.println("OK");
}
else if(checkString == "n" || checkString == "N" || checkString == "no" || checkString == "No")
{
System.out.println("OK");
}
else
{
System.out.println("Terminating");
}
}

Jason 02-05-2004 11:00 PM

show the input part of the code...that might be the error. Are you inputing a string or a character? you also might look at a method called toUpperCase or something like that, it converts all characters to uppercase so there will be only 1 check without all the or's ( || ) statments...


Jason

bennycs 02-05-2004 11:02 PM

i found out what was wrong
 
i was using strings.....i used the checkString.equals("y") and now it works! thanks

shmoove 02-06-2004 05:39 PM

Yup. Just for general knowledge.
This condition:
Code:

(someString == "a string")
will always return false in Java, because a string is a final object in java, so every time you assign a string you are actually making a copy of it in a different object, and the condition is checking if someString is a reference to the same object as the constant string, which can't be true.

shmoove


All times are GMT +1. The time now is 03:52 PM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.