1,循环或递归调用获取数字时,不能用hasNextInt()判断是否有输入,不然会陷入死循环,应该用hasNext()。获取也不能用nextInt(),应用next(),否则也会死循环

例如这段代码,用nextInt()就死循环。外面用hasNextInt()判断也死循环

private static int getMethod() throws IOException{
// 判断是否还有输入
try {
if (sc.hasNext()) {
/*String next = sc.next();
System.out.println("ttt:"+next);
if(next.equals("1")||next.equals("2")||next.equals("3")){
return Integer.valueOf(next);
}*/
if(sc.nextInt()==1){
return 1;
}
}
System.out.println("输入有误,只允许输入数字,请重新输入");
return getMethod();
} catch (Exception e) { System.out.println("输入有误,只允许输入数字,请重新输入");
return getMethod();
}
}

2.这个类有时会出现一些bug,即便上正常的代码(注释部分),也会死循环,不过发生几率很小,还有的时候会发生不能输入的情况。我找了好多资料,也没有大佬介绍这一现象,希望有人能找出我的错误告诉我是我错了

3.不知是eclipse还是java的bug,在中文模式下输入(焦点在其他打印日志上),然后切换到正常地方,输入不了,英文可以,如:

第一次,把光标放到绿框中的任意位置,输入英文可以自动在下方显示,程序正常进行

第二次,把光标放到红框中的任意位置,输入中文,则不能继续输入,程序无法正常进行

java Scanner类注意事项的更多相关文章

  1. Java-Runoob:Java Scanner 类

    ylbtech-Java-Runoob:Java Scanner 类 1.返回顶部 1. Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Sc ...

  2. java Scanner类的使用

    参考链接:https://blog.csdn.net/android_depon/article/details/69669160     https://www.cnblogs.com/zhengc ...

  3. Java - 18 Java Scanner 类

    java.util.Scanner是Java5的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scanner s = new Scanner ...

  4. 12-01 Java Scanner类,Scanner类中的nextLine()产生的换行符问题

    分析理解:Scanner sc = new Scanner(System.in); package cn.itcast_01; /* * Scanner:用于接收键盘录入数据. * * 前面的时候: ...

  5. Java Scanner 类,获取用户输入的值

    Scanner 类使用步骤 1.导入java.util.Scanner import java.util.Scanner; 2.创建Scanner对象 Scanner scan = new Scann ...

  6. java Scanner类与String类

    Scanner类的使用: ​ 导入Scanner包,new Scanner对象,记得调用System.in参数,调用对应next方法实现键盘录入. import java.util.Arrays; i ...

  7. Java Scanner类中next()和nextLine()方法的区别

    今天在练习中遇到了调用Scanner类中的nextLine()输入字符串自动跳过的问题,在博客上看了两篇解答,原来是nextLine()误认了前面next()输入时的Enter,但还是想了一会儿才弄清 ...

  8. Java Scanner类

    package io; import java.util.*; public class useScanner { public static void main(String[] args) { S ...

  9. Java Scanner 类

    下面是创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); Scanner -是java类库的一个基础类,一个可以使用正则表达式来解析基本类型 ...

随机推荐

  1. es6初级之解构----之一

    1. 访问对象属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. win10 任务栏锁定,win键没反应

    现象:之前用win10,换成win10专业版后,安装360优化系统,过了几天后突然发现任务栏好像被锁定一般,按windows键没有任何反应,任务栏打开的文件,图片等等右键也没有反应,讲道理应该有关闭选 ...

  3. Unit 1 overview of IT Industry

    Unit 1 overview of IT IndustryConcept LearningIT Industry OutlookThe term technology commonly refers ...

  4. springboot 项目 注意事项

    SpringBoot出现下列错误. Your ApplicationContext is unlikely to start due to a @ComponentScan of the defaul ...

  5. vue启动时报错,node-modules下xxx缺失

    从qq上拷贝了一个项目,解压后打开进vscode,安装依赖与scss后启动,显示node-modules下xxx指向缺失(想不起来是哪个缺失了),在网上找了很多解决办法,包括重新安装node 与 np ...

  6. ArcGIS案例学习笔记2_1_学校选址适宜性分析

    ArcGIS案例学习笔记2_1_学校选址适宜性分析 计划时间:第二天上午 目的:学校选址,适宜性分析 内容:栅格数据分析 教程:pdf page=323 数据:chapter8/ex1/教育,生活,土 ...

  7. shiro 密码的MD5盐值加密

  8. PowerDesigner 逆向工程

    原文地址:https://www.cnblogs.com/feilong3540717/archive/2011/11/18/2254040.html PowserDesigner 的打开路径:Fil ...

  9. 吴裕雄 python 爬虫(2)

    import requests from bs4 import BeautifulSoup url = 'http://www.baidu.com' html = requests.get(url) ...

  10. vue 异步请求

    摘自 ECMAScript 6 简介: 大家习惯将 ECMAScript 6.0 简称为 ES6,它是 Javascript 语言的下一代标准,它的目标,是使得 Javascript 语言可以用来编写 ...