我想检查负数和非数
I want to check for both negative number and non-number
我有检查非数字的代码,但也希望包含对负数的检查。如果数字为负数或不是数字,则他们必须重新输入信息。我尝试在 try{
之后和 catch
之前放置一个 if(depValue < 0)....
,但这没有用。如果我将 if 语句放在 while 循环之后,这对我来说没有意义。
String depIn = "";
BufferedReader depositInput = new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.print("Amount to deposit: ");
depIn = depositInput.readLine();
double depValue = 0.00;
try{
depValue = Double.parseDouble(depIn);
break;
}
catch(NumberFormatException ne){
System.out.println("You did not enter a number!");
}
}
放在同一个try catch块中,只显示捕获到的NumberFormatException的错误信息
try{
depValue = Double.parseDouble(depIn);
if (depValue < 0) throw new NumberFormatException("Negative value not acceptable!");
break;
}
catch(NumberFormatException ne){
ne.printStackTrace();
}
当你有你需要的号码时,你可以跳出循环。
double depValue;
while(true){
System.out.print("Amount to deposit: ");
depIn = depositInput.readLine();
try {
if ((depValue = Double.parseDouble(depIn)) > 0)
break;
System.out.println("The number needs to be positive!");
} catch(NumberFormatException ne) {
System.out.println("You did not enter a number!");
}
}
我有检查非数字的代码,但也希望包含对负数的检查。如果数字为负数或不是数字,则他们必须重新输入信息。我尝试在 try{
之后和 catch
之前放置一个 if(depValue < 0)....
,但这没有用。如果我将 if 语句放在 while 循环之后,这对我来说没有意义。
String depIn = "";
BufferedReader depositInput = new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.print("Amount to deposit: ");
depIn = depositInput.readLine();
double depValue = 0.00;
try{
depValue = Double.parseDouble(depIn);
break;
}
catch(NumberFormatException ne){
System.out.println("You did not enter a number!");
}
}
放在同一个try catch块中,只显示捕获到的NumberFormatException的错误信息
try{
depValue = Double.parseDouble(depIn);
if (depValue < 0) throw new NumberFormatException("Negative value not acceptable!");
break;
}
catch(NumberFormatException ne){
ne.printStackTrace();
}
当你有你需要的号码时,你可以跳出循环。
double depValue;
while(true){
System.out.print("Amount to deposit: ");
depIn = depositInput.readLine();
try {
if ((depValue = Double.parseDouble(depIn)) > 0)
break;
System.out.println("The number needs to be positive!");
} catch(NumberFormatException ne) {
System.out.println("You did not enter a number!");
}
}