我很清楚這個問題已經被問過很多次了,這是 CSC 的一個經典的第一年問題。我不是在尋找問題本身的解決方案。我想我已經基本完成了,但是我遺漏了一些我無法找到的方法。
這是我的代碼:
import java.util.Scanner;
import java.util.Random;
public class HiLow
{
public static void main (String[] args)
{
Random generator = new Random();
Scanner scan = new Scanner(System.in);
int num1,guess;
int count = 0;
num1 = generator.nextInt(100) 1;
while(true) {
System.out.print("Enter an integer between 1 or 100 or enter 0 at anytime to quit: ");
guess = scan.nextInt();
count ;
if(guess == num1 || guess == 0) {
if(guess == 0) {
System.out.println("Thanks for playing");
break;
}
System.out.println("Congrats you've guessed correct and your total guesses is " count );
break;
}
else if (guess > 100 || guess < 1) {
System.out.print("I see you cannot follow instructions. I said ");
count--;
}
else if (guess > num1) {
System.out.println("You have guessed too high. ");
}
else {
System.out.println("You have guessed too low.");
}
}
}
}
我的問題是我需要在“如果用戶退出或成功猜出正確的數字,提示用戶查看他們是否希望再次播放”時提示用戶。我迷路了,不知道如何在休息后從頭開始繼續我的 while 回圈。有沒有辦法結束我從 (guess == num1 || guess ==0) 獲得的中斷條件并指示我的程式在 while(true) 陳述句處重新開始?
謝謝
uj5u.com熱心網友回復:
我會說搜索 continue;
進一步幫助的提示:
該
continue陳述句用于使回圈回到起點,嘗試它而不是break您希望用戶繼續的地方。如果用戶想繼續,您需要進行某種檢查(嘗試要求他們輸入您檢查的某些特定 int,ps 負數也是整數)
uj5u.com熱心網友回復:
@Ahmed 認為您應該這樣做continue,我寧愿不這樣做break,或者有條件地這樣做break。
uj5u.com熱心網友回復:
那么有多種方法可以實作這一點,一種方法是使用 Scanner 類提示用戶“按 q 退出”對話框,其中 .next() 在用戶點擊 Enter 時回傳字串:
if(guess == num1 || guess == 0) {
if(guess == 0) {
System.out.println("Thanks for playing");
}else{
System.out.println("Congrats you've guessed correct and your total guesses is " count );
}
System.out.println("would you like to play again [y/n]?");
if(scan.next().equals("y")){
num1 = generator.nextInt(100) 1;
}else{
break;
}
}
如果這就是你的意思。希望我有所幫助。或者你可以讓它只在零時退出,如果是這樣,只需洗掉第二個中斷并將其替換為 num1 = generator.nextInt(100) 1; 將新值設定為猜測。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/371057.html
