Java 如何调试我的随机数猜测程序?

Java 如何调试我的随机数猜测程序?,java,random,Java,Random,我需要我的程序在我选择的两个数字(最小值和最大值)之间选择一个数字,然后我有5次尝试找出他心目中的数字。但问题是计算机并不能真正解释极限——正确选择的数字有时超出了极限min=3max=6-为什么我得到的结果是正确的数字是7 代码如下: import java.util.*; public class Game1 { public static void main(String[] args) { Scanner sc = new Scanner(Syste

我需要我的程序在我选择的两个数字(最小值和最大值)之间选择一个数字,然后我有5次尝试找出他心目中的数字。但问题是计算机并不能真正解释极限——正确选择的数字有时超出了极限
min=3
max=6
-为什么我得到的结果是正确的数字是
7

代码如下:

import java.util.*;

public class Game1 {
         public static void main(String[] args) {
         Scanner sc = new Scanner(System.in); 

    int min = sc.nextInt();

    int max = sc.nextInt();

    System.out.println("insert a number");

        int rand = min + (int)(Math.random() * ((max - min) + 1));

        for (int i = 0; i <=5; i++){

        int number = sc.nextInt();

            if (number == rand){

                System.out.println("congratulations! :D");
                break;
            }

            else if (i < number){

            System.out.println("The number is too big");

            }

            else if (i > number){

            System.out.println("the number is too small");

            }

            else{

            System.out.println("Try again");

            }               

            }

        }

 }
import java.util.*;
公共类游戏1{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int min=sc.nextInt();
int max=sc.nextInt();
System.out.println(“插入一个数字”);
int rand=min+(int)(Math.random()*((max-min)+1));
for(int i=0;i编号){
System.out.println(“数字太小”);
}
否则{
System.out.println(“重试”);
}               
}
}
}

问题在于检查用户答案的if语句。您需要将用户输入的
number
与随机数
rand
进行比较。而是将循环计数器
i
与输入进行比较


另一个问题是,您的
for
循环执行6次迭代,而不是5次。要解决此问题,请更改
我先在else if part中检查您的条件。为什么要比较i和number?键入
rand
而不是
number
另一个使用
Math
的选项是使用
Random
,它有一个方法。欢迎使用堆栈溢出!看起来您需要学习使用调试器。请随便吃点。如果您以后仍然有问题,请随时回来提出更具体的问题。
for (int i = 0; i < 5; i++) {
    int number = sc.nextInt();

    if (number == rand) {
        System.out.println("congratulations! :D");
        return;
    } else if (rand < number) {
        System.out.println("The number is too big");
    } else if (rand > number) {
        System.out.println("the number is too small");
    }
}

System.out.println("Try again");