1
顯然我的代碼沒有按照自動化測試工作,也沒有爲我的解決方案提供通行證,但是當我運行它時,它似乎工作正常。我不知道什麼是錯我的代碼?:猜謎遊戲不能正常工作
import java.util.Random;
import java.util.Scanner;
public class GuessingNumberGame {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int numberDrawn = drawNumber();
int i = 1;
boolean correct = false;
while (correct == false) {
System.out.print("Guess a number: ");
int guess = Integer.parseInt(reader.nextLine());
if (guess == numberDrawn) {
System.out.println("Congratulations, your guess is correct!");
correct = true;
} else if (guess < numberDrawn) {
System.out.println("The number is lesser, guesses made: " + i);
i++;
} else if (guess > numberDrawn) {
System.out.println("The number is greater, guess made: " + i);
i++;
}
}
}
// DO NOT MODIFY THIS!
private static int drawNumber() {
return new Random().nextInt(101);
}
}
它是在赫爾辛基在線的Java課程的大學運動41,演習的細節在這裏:http://mooc.cs.helsinki.fi/programming-part1/material-2013/week-2?noredirect=1#e41
,我得到的錯誤是:
- 如果猜測太小,程序應打印「數字越大」。
- 如果猜測太大,程序應打印「數量較少」。
- 如果繪製的數字是1並且用戶輸入是0,1,程序應該首先打印 「數字更大」,然後「恭喜,您的猜測是正確的!」
- 如果繪製的數字是1並且用戶輸入是2,1,程序應該首先打印 「數字更小」,然後「祝賀,您的猜測是正確的!」
謝謝
它看起來像你有你的'<' and '>'翻轉。 (如果'guess
作爲一種風格提示,你可以簡單地寫'while(!correct){...} 。 '!'會否定'correct'的布爾值 –
您還打印了迄今爲止已經進行的猜測次數,但根據您的錯誤要點,這些不應該在那裏,或者我誤解了這一點? –