gpt4 book ai didi

java - 猜数字游戏无法运行

转载 作者:行者123 更新时间:2023-11-30 02:30:23 25 4
gpt4 key购买 nike

显然我的代码没有根据自动化测试工作,并且没有给我解决方案的通过,但是当我运行它时,它似乎工作正常。我想知道我的代码有什么问题?:

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类(class)的练习41,练习详情在这里:http://mooc.cs.helsinki.fi/programming-part1/material-2013/week-2?noredirect=1#e41

我得到的错误是:

  • 如果猜测太小,程序应打印“The number is Greater”。
  • 如果猜测太大,程序应打印“The number is lesser”。
  • 如果开奖号码是 1 并且用户输入是 0, 1,程序应该首先打印“数字更大了”,然后是“恭喜你,你的猜测是正确的!”
  • 如果开奖号码是 1 并且用户输入是 2, 1,程序应该首先打印“数字少了”,然后是“恭喜你,你的猜测是正确的!”

谢谢

最佳答案

你有一个简单的逻辑错误

当数字较小时,条件应为 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++;
}

关于java - 猜数字游戏无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44422202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com