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