Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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 只接受非负数_Java - Fatal编程技术网

Java 只接受非负数

Java 只接受非负数,java,Java,我如何做到这一点,以便当有人输入负数时,会弹出一条消息说输入无效?我假设您正在检查的正数是由变量aa定义的?就我个人而言,在处理货币价值时,我更喜欢使用BigDecimal,在这种情况下,我会: else if (bb.equals("Dollar") && cc.equals("Pound")){ input = JOptionPane.showInputDialog("What amount would you like to convert?:");

我如何做到这一点,以便当有人输入负数时,会弹出一条消息说输入无效?

我假设您正在检查的正数是由变量aa定义的?就我个人而言,在处理货币价值时,我更喜欢使用BigDecimal,在这种情况下,我会:

else if (bb.equals("Dollar") && cc.equals("Pound")){
        input = JOptionPane.showInputDialog("What amount would you like to convert?:");
        double aa = Double.parseDouble(input);
        double output =(aa*rate);
        JOptionPane.showMessageDialog(null, String.format("Your amount is: $%.2f",  output));

if number<0{show message}当我使用if input<0之类的if语句时,程序不会接受它。有人能解释一下吗?你说的程序不接受它是什么意思?我使用的是eclipse,上面有红色的曲线。输入是字符串,0是整数,你不能使用它说的要使用BigDecimal,我必须导入java.math。事实是,我是不被允许的to@jkjk为什么不呢?当您使用JOptionPane时,您可以从swing包导入类。我的意思是我的老师不允许我这样做。我不知道为什么,也没有理由和他争论。听起来你需要一个新老师,但无论如何,Double类也有一个compareTo方法,所以你可以将你的值与0进行比较,就像我用我的BigDecimal示例进行比较一样。
BigDecimal aa = null;
try {
    aa = new BigDecimal(input);
} catch (NumberFormatException nfe) {
    //Not a numerical value, throw an error
}
if (aa.compareTo(BigDecimal.ZERO) <= 0) {
    //Value is negative
}