作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当抛出 InputMismatchException 时,我进入了一个无限循环,我一生都无法弄清楚为什么。基本上,该程序的主要目标是针对用户输入的负数引发异常,并确保用户实际输入一个整数(而不是像“r45”这样的东西)。任何帮助将不胜感激。谢谢。
import java.util.*;
public class conversion{
static Scanner in = new Scanner (System.in);
static final double centimeters_per_inch = 2.54;
static final int inches_per_foot = 12;
public static void main (String [] args){
int feet;
int inches;
int totalInches;
double centimeters;
boolean done = false;
do{
try
{
System.out.print("Enter feet: ");
System.out.flush();
feet = in.nextInt();
System.out.println();
System.out.print("Enter inches: ");
System.out.flush();
inches = in.nextInt();
if (feet < 0 || inches < 0)
throw new NonNegative();
System.out.println();
done = true;
System.out.println("The numbers you entered are " + feet +" feet and " + inches+ " inches");
totalInches = inches_per_foot * feet + inches;
System.out.println();
System.out.println("The total number of inches = " + totalInches);
centimeters = totalInches * centimeters_per_inch;
System.out.println("The number of centimeteres = " + centimeters);
}
catch (NonNegative a){
System.out.println(a.toString());
}
catch(InputMismatchException e) {
System.out.println("This is not a number");
}
}while(!done);
}
}
最佳答案
当发生 InputMismatchException
时,来自 Scanner
的无效输入将通过 while
循环发回,并重复该过程无限。。调用 nextLine
以使用来自 Scanner
的非数字输入。这将防止未使用的数据被发送回循环
System.out.println("This is not a number " + in.nextLine());
关于java - 在无限循环中抛出异常。找不到我的出路。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471908/
我有两个问题,这里用一段简短的代码来说明我的问题: ContentResolver resolver = context.getContentResolver(); DocumentsContract
据我所知,我知道 Rails 4 不支持 match 关键字。 但我想创建一个默认的通用路由,如下所示 match ':controller(/:action(/:id))(.:format)',
我是一名优秀的程序员,十分优秀!