java Scanner用法

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()的话,会输出之前的错误的值

求大神帮助

慕的地6264312
浏览 454回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java