String lottoNumbers = "";
Scanner scan = new Scanner(System.in);
System.out.println("To buy a ticket we need your numbers...");
for (int i = 1; i <= 6; i++)
{
System.out.println("Please enter number " + i);
int userNum = scan.nextInt();
if (userNum >= 1 && userNum <= 49)
{
lottoNumbers = lottoNumbers + userNum;
if (i < 6) lottoNumbers = lottoNumbers + ", ";
}
else
do {
System.out.println("Numbers must be between 1 and 49. \nPlease try again.");
userNum = scan.nextInt();
}
while (userNum <1 || userNum >49);
}
System.out.println("You selected numbers " + lottoNumbers);
System.out.println("Ticket has been printed, please pay £2.");
この目的は、for、do、do whileループを練習することです。ユーザーが1から49までの6つの数字を入力するこのdo whileループを作成する必要があります。入力した範囲がこの範囲外の場合は、入力が1~49になるまで入力する必要があります。ループの結果を連結する
すべての入力6 1以内 - 初めて49、出力が、正しくすなわち「あなたの番号は1、2、3、4、5、6」
しかし、彼らは台無し第四エントリを言うならば、出力は欠場するこれをconcatonatedされます。 Ie「あなたの番号は1,2,3,5,6です。」
ここで私が間違っているとは思っていません。私たちは長い間Javaを開始しておらず、私はこの段階で使用できるソリューションの種類が限られていることに注意してください。
私は従わなければならなかった擬似コードは次のとおりです。あなたの他のセクションでまあ
1.1. Declare a String variable to hold the output
1.2. Declare scanner variable
1.3. Print “To buy a ticket we need your numbers…”
1.4. Loop 6 times
1.4.1. Print “Please enter lotto number x”
1.4.2. Declare variable to hold users num
1.4.3. Store users num
1.4.4. If number is between 1 and 49 then
1.4.4.1.1. concatenate the users number plus a comma to the output
1.4.5. Else
1.4.5.1.1. Do Loop
1.4.5.1.1.1. Print “numbers must be between 1 and 49 please try again”
1.4.5.1.1.2. Store users num
1.4.5.1.2. Loop While users num < 0 or users num> 49
1.4.6. End If
1.5. End Loop
1.6. Print “You selected numbers “ + output
1.7. Print “Ticket has been printed – please pay £2”
forループが6回だけ実行されるためではありませんか? – procrastinator