重複の可能性:
Java 文字列比較?
こんばんは。次のコードではエラーは発生しませんが、入力された文字列を検証しようとすると、 toUpperCase() メソッドを使用した場合でも、常に「YES」を入力していないと見なされます。これは非常に基本的なエラーに違いありませんが、この言語の基礎を学んでいるので、今は理解できません。コードは次のとおりです。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main{
public static void main(String[] args) throws IOException{
byte counter = 1;
boolean myCondition = false;
String answer;
List<String> myList = new ArrayList<String>();
BufferedReader objReader = new BufferedReader(new InputStreamReader(System.in));
do{
System.out.println("Enter the #" +counter +" person's name:");
myList.add(objReader.readLine());
counter++;
System.out.println("Would you like to add another name to the list? yes/no");
answer = objReader.readLine();
if (answer.toUpperCase() == "YES"){
myCondition = true;
}
} while (myCondition);
System.out.println("The list of names you entered, looks like this:\n");
for (String name: myList)
System.out.println(name);
System.out.println("\nPress <Enter> to randomize the list of names you entered.");
objReader.readLine();
Collections.shuffle(myList);
System.out.println("Done! \nPress <Enter> to see how the randomized list looks like.\n");
objReader.readLine();
for(String nombre: myList)
System.out.println(nombre);
}
}
ヘルプやヒントをお寄せいただきありがとうございます。