import java.util.Scanner;
public class test { public static void main(String args[]) {
Scanner sc = new Scanner(System.in); float f = 0; while (true) { try { System.out.println("请输入第一个数字:"); f = sc.nextFloat(); break; } catch (Exception ex) { System.out.print("对不起,您的输入不正确"); sc.next();//!!!就是这个
}
} }}
声明:我是菜鸟 求大神帮助 分不多了 不好意思
如果输入的不是float就会发生异常 catch捕获
但是下次循环式 sc.nextFloat()还是原来的错误值 导致死循环
为什么最后catch要加个sc.next();就可以避免那种情况
否则就会造成死循环 也就是好像是sc里的值得不到释放那种
因为我在catch里如果输出sc.next()的话,会输出之前的错误的值
求大神帮助
添加回答
举报
0/150
提交
取消