重複の可能性:
Javaで文字列を比較するにはどうすればよいですか?
私は「サイコロを振る」プログラムを書き、ヤーツェーを得るのに何ターンかかるかを教えてくれます。これは機能しますが、もう一度行くように求められると問題が発生します。実際にループを終了する必要があるものを入力すると、「無効な入力」が表示され続けます。これが私のコードです。ループは24〜34行目から始まりますが、以前に問題が発生した場合に備えて、すべてを配置します。
import java.util.Scanner;
import java.util.Random;
public class Yahtzee {
public static void main(String[] args){
int d[] = {0,0,0,0,0};
int x = 0;
Scanner s = new Scanner(System.in);
Random r = new Random();
while (1!=0){
d[0] = r.nextInt(6);
d[1] = r.nextInt(6);
d[2] = r.nextInt(6);
d[3] = r.nextInt(6);
d[4] = r.nextInt(6);
x+=1;
if (d[0]==d[1] && d[0]==d[2] && d[0]==d[3] && d[0]==d[4]) {
System.out.println("You got yahtzee, every dice showed " + Integer.toString(d[0]));
System.out.println("It only took " + Integer.toString(x) + " turns");
while (1!=3) {
System.out.print("Go again? y/n: ");
String ans = s.nextLine();
if (ans.toLowerCase()=="n"){
System.exit(0);
} else if (ans.toLowerCase()=="y") {
break;
} else {
System.out.println("Invalid input!");
}
}
}
}
}
}
おそらく信じられないほど明白ですが、私は正直にこれを理解することはできません。問題はどこだ?