私は間違っていれば、私の問題のために直接答えられている質問は何も見当たりませんでした。私は、年、月、日、時、分のあなたの出生情報を取って、Y/Nが入力されるまで方法とループを使用して再度やりたいかどうか尋ねるプログラムを書いています。Java - YまたはNが入力されるまでループするメソッド
私の問題は、Yを入力してプログラムを終了し、Nを入力すると終了するメソッドを取得できません。
私は方法の中にある必要がありますが、それを考え出すのが苦労している間、ある種のループがあると思います。
私の他のすべての方法は、この1つを除いてすべてのヘルプがありがとう、ありがとう。
これは私が今の私の方法を持っているコードです:
public static boolean getYNConfirm(Scanner pipe, String prompt)
{
String choice="";
System.out.println(prompt);
choice = pipe.nextLine();
if(choice.equalsIgnoreCase("Y"))
{
return true;
}
else
{
return false;
}
}
そして、これは私のメインプログラムのコードです:
public static void main(String[] args)
{
int year, month, day, hour, minutes;
String msg="";
boolean done = false;
Scanner in = new Scanner(System.in);
while(!done)
{
year = SafeInput.getIntInRange(in, "Enter the year you were born: ", 1965, 2000);
month = SafeInput.getIntInRange(in, "Enter your month of birth: ", 1, 12);
switch (month)
{
case 1:
msg = "January";
break;
case 2:
msg = "February";
break;
case 3:
msg = "March";
break;
case 4:
msg = "April";
break;
case 5:
msg = "May";
break;
case 6:
msg = "June";
break;
case 7:
msg = "July";
break;
case 8:
msg = "August";
break;
case 9:
msg = "Septemeber";
break;
case 10:
msg = "October";
break;
case 11:
msg = "November";
break;
case 12:
msg = "December";
break;
}
hour = SafeInput.getIntInRange(in, "Enter the hour you were born in: ", 1, 24);
minutes = SafeInput.getIntInRange(in, "Enter the minutes you were born: ", 1, 59);
System.out.println("You were born: " + year + " , " + msg + " , " + hour + " hr. " + minutes + " mins. ");
SafeInput.getYNConfirm(in, "Would you like to play again?");
}
}
}任意の助け
感謝。
である必要があります。 「私の問題は、Y/Nを取り込んでプログラムを終了する方法と、Nが入力されたときに終了する方法を得ることができないことです。むしろあいまいです。具体的に何が起こっていると考えているか対何が起こっているか – Carcigenicate
最後の行を次のように変更します: 'done = SafeInput.getYNConfirm(in、"もう一度やりますか? ");'そうでなければ値を失い、 'done'はfalseのままです。 – AntonH
曖昧になって申し訳ありませんが、基本的にユーザーがYまたはNを入力すると、プログラムは自動的にループし、Nを入力すると停止しません。 修正あり、みなさんありがとうございます! – rKittle