为什么我不能在java上获得Integer输入?

时间:2015-02-14 22:45:58

标签: java int

这是我的方程式生成器,代码的输出总是“不正确”。我认为这是因为我无法从用户那里获得整数输入。我想要的就是修复这段代码。如果有人有任何想法,请告诉我。

代码:

package equasionGen;

import java.util.Random;
import java.util.*;

public class EquationGen {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("This will Generate you an Equasion with numbers ranging between 1-1000");
        Random random = new Random();
        for(int idx = 1; idx <= 1; ++idx);
        int randomInt = random.nextInt(10);
        Random random1 = new Random();
        for(int idx = 1; idx <= 1; ++idx);
        int randomInt1 = random.nextInt(10);
        System.out.print(randomInt + " + " + randomInt1 + " = ");
        Scanner josh = new Scanner(System.in);
        int input = josh.nextInt();
        if (josh.equals(randomInt + randomInt1)){
            System.out.println("CORRECT!!!");
        } else if (!josh.equals (randomInt + randomInt1)){
            System.out.println("INCORRECT!!");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

.equals()方法用于比较字符串。要比较整数,您应该使用“==”比较运算符。此外,您正在尝试将Scanner对象“josh”与(randomInt + randomInt1)的整数进行比较。而是将名为“input”的Integer输入与(randomInt + randomInt1)进行比较。

应该是:

if (input == (randomInt + randomInt1)) { ... }
else { ... }

如果要比较两个整数以查看它们是否相同,可以使用“!=”运算符代替“==”