Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java n1,n2显示,而不是2个随机数_Java - Fatal编程技术网

Java n1,n2显示,而不是2个随机数

Java n1,n2显示,而不是2个随机数,java,Java,我正在做一种简单的计算器。它需要打印2个随机数,加或减。例如,它将打印3422-193或3422+193。然后,用户回答问题,并说明他们是对还是错 我还没有尝试太多,因为我是新的编码,所以我不知道从哪里开始。 mport java.util.Random; 导入java.util.Scanner 公开课数学导师{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

我正在做一种简单的计算器。它需要打印2个随机数,加或减。例如,它将打印3422-193或3422+193。然后,用户回答问题,并说明他们是对还是错

我还没有尝试太多,因为我是新的编码,所以我不知道从哪里开始。 mport java.util.Random; 导入java.util.Scanner

公开课数学导师{

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


    int useranswer;
    int answer; 


    Random rand = new Random(); 

    int n1 = rand.nextInt(9999) + 1;
    int n2 = rand.nextInt(999) + 1; 

    int operator = (int) (2 * Math.random() + 1);


    if (operator == 1) { 
        answer = n1 + n2;
        System.out.println("n1 + n2" + "=  ? "); 

    } else if (operator == 2) { 
        answer = n1 - n2;
        System.out.println("n1 - n2" + "= ?"); 

    useranswer = scanner.nextInt(); 

    if (useranswer == answer) {
        System.out.println("You are right."); 

    } else if (useranswer > answer) {
        System.out.println("Incorrect. Your answer is too high. Answer is " + answer); 

    } else if (useranswer < answer) {
        System.out.println("Incorrect. Your answer is too low. Answer is " + answer);           
    }

    }

}
publicstaticvoidmain(字符串[]args){
扫描仪=新的扫描仪(System.in);
int用户应答;
int答案;
Random rand=新的Random();
int n1=兰特耐克斯汀(9999)+1;
int n2=兰特·奈克斯汀(999)+1;
int运算符=(int)(2*Math.random()+1);
如果(运算符==1){
答案=n1+n2;
System.out.println(“n1+n2”+“=?”);
}如果(运算符==2){
答案=n1-n2;
System.out.println(“n1-n2”+“=?”);
useranswer=scanner.nextInt();
if(useranswer==answer){
System.out.println(“你是对的”);
}else if(useranswer>answer){
System.out.println(“不正确。您的答案太高。答案是“+答案”);
}else if(useranswer
}


当我运行代码时,它会正确显示方程式。唯一的问题是,它显示n1-n2=?或n1+n2=?。我该怎么做才能让它显示随机数而不是n1和n2

您需要标记变量:

int operator;
顺便说一句,你似乎也忘了在手术后合上花括号

   } else if (operator == 2) { 
        answer = n1 - n2;
        System.out.println(n1 - n2 + "= ");

您不能使用未声明的变量。@Kevin Morrow Jr.像azurefrog这样的人说,您的代码中没有运算符变量,它将如何工作。:)我修复了变量问题,但现在它说线程“main”java.lang.IllegalArgumentException:bound中的异常在java.base/java.util.Random.nextInt(Random.java:388)的MathTutor.main(MathTutor.java:25)运算符处必须为0。rand,nextInt不接受非正值Sok,现在我让它显示2个数字和一个等式,但这些数字实际上不是数字。它们是n1-n2=?我如何解决这个问题,使它显示两个数字,而不是n1,n2?