gpt4 book ai didi

java - 为什么我的 Eclipse 程序终止?

转载 作者:行者123 更新时间:2023-12-02 05:15:45 24 4
gpt4 key购买 nike

我是一名新手编码员,正在寻求帮助。我必须编写这个程序,让用户猜测 0 到 100 之间的数字,然后在响应中告知该数字是更高还是更低。下面是代码。我的问题是,有时当我输入一个数字(通常是 99)时,程序会终止,我不知道为什么。我已经查看了代码 2 个小时,但无法弄清楚是什么原因导致程序终止。任何帮助将不胜感激。

import java.util.Scanner;
import java.util.Random;

public class Proj71 {
private static int userNumber;
private static int firstguess = 1;
private static int numguess1;
private static int numguess2;
private static int totalguess;
private static Random generator = new Random();
private static Scanner reader = new Scanner(System.in);
private static int compNumber = generator.nextInt(100);
public static void main(String[] args) {
UserGuess();
UserHighGuess();
UserLowGuess();
UserEquals();
}
private static void UserGuess() {
System.out.println("What number am I thinking of between 0 and 100?: ");
userNumber = reader.nextInt();
}
private static void UserHighGuess() {
while (userNumber > compNumber) {
System.out.println("Lower! Try again: ");
userNumber = reader.nextInt();
numguess1++;
}
}
private static void UserLowGuess() {
while (userNumber < compNumber) {
System.out.println("Higher! Try again: ");
userNumber = reader.nextInt();
numguess2++;
}
}
private static void UserEquals() {
if (userNumber == compNumber) {
totalguess = numguess1 + numguess2 + firstguess;
System.out.println("You got it!");
System.out.println("Total number of guess: " + totalguess);
}
}
}

谢谢,Jmanlikescake(抱歉,如果这篇文章真的很糟糕)

最佳答案

问题出在程序的结构上。

您正在调用

UserGuess();
UserHighGuess();
UserLowGuess();
UserEquals();

如果数字是 50,而用户猜是 30,该怎么办?我们将位于 UserLowGuess() 的主体中。然后想象用户输入 55。当 userNumber 大于 compNumber 时,UserLowGuess() 将被中断。那么,您将处于 UserEquals 中。但由于 55 不等于 50,因此不会进入 if 语句,程序将退出。

关于java - 为什么我的 Eclipse 程序终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963673/

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