0
當我運行程序和用戶輸入字段出現時,當我只是在沒有輸入任何內容的情況下回車時,會出現另一個輸入字段。如果我繼續敲擊輸入,反覆發生。如果有辦法解決這個問題,請讓我知道。我找不到任何文件修復它。獲取關於第一個基本Java程序的一些指針/建議?
import java.util.Scanner;
import java.util.Random;
class Game {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//generate a random number
//take user input
//check the input act appropriately
boolean running = true;
boolean guessed = true;
boolean realInt = true;
int number = 0;
int input = 0;
String firstName=" ";
System.out.print("want to play the game? Yes/No: ");
firstName = sc.next();
while (running) {
if (guessed && (("yes".equals(firstName)) | ("cheater".equals(firstName)))){
System.out.println("I have chosen a random value");
System.out.println("Have a go at guessing it");
Random rand = new Random();
number = rand.nextInt(10) + 1;
guessed = false;
}
if(("yes".equals(firstName)) | ("cheater".equals(firstName)))
{
if(sc.hasNextInt()) {
realInt=true;
input = sc.nextInt();
}
else{
System.out.println("That is not an integer.");
running = false;
}
}
else
running = false;
if((((input != number) && realInt)&&(input != -1))){
System.out.println("Plsease try again");
}
//below line sets up when to stop the program, when -1 is entered
if (input == -1){
running = false;
}
else{
guessed = input == number;
}
//below lines are cheat codes
if (input == -5){
System.out.println("Answer: " + number);
}
if ("cheater".equals(firstName) && (input != number)){
System.out.println("Answer: " + number);
}
}
}
}
我已經將您的問題的「代碼審查」部分遷移到代碼審查,但試圖在這裏保留「不起作用」的部分問題(其中027的答案很好)。今後,請每個問題只問一個問題:)。 – Matt