[英]number guessing game not working
顯然,根據自動化測試,我的代碼無法正常工作,並且無法通過我的解決方案,但是當我運行它時,它似乎可以正常工作。 我想知道我的代碼怎么了?:
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
我得到的錯誤是:
謝謝
你有簡單的邏輯錯誤
當數字較小時,應guess > numberDrawn
或數字較大,應guess < numberDrawn
:
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++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.