do-while ループが整数を if ステートメント内の値に正常に変更するのに問題があります。「 y」または「n 」を入力すると、ループは正しく終了しますが、整数の値は 0 のままです。
ユーザーが「 yes」や「YEs」、さらには「Y3$ir 」などを入力できるようにするために部分文字列を使用していますが、それでもJavaの「y 」に相当します。
コード:
import java.util.Scanner;
public class aTaskforAll
{
public static void main (String [] args)
{
Scanner scan = new Scanner(System.in);
String readAll;
int readAllOption = 0;
do {
System.out.print("Do you want the words printed? (y/n) ");
readAll = scan.nextLine();
System.out.println(readAll.substring(0));
if ((readAll.substring(0) == "y") || (readAll.substring(0) == "Y"))
readAllOption = 1;
else if ((readAll.substring(0) == "n") || (readAll.substring(0) == "N"))
readAllOption = 2;
}
while (readAllOption != 0);
System.out.println(readAllOption); //Tester
//Go on to do task in response to readAllOption = 1 or 2
}
}