P9、Java流程控制01用户交互Scanner

tech2022-10-20  93

控制台用户交互Scanner

java.util.Scanner是JAVA5的新特征,可以通过Scanner来获取用户的输入信息

基本语法:

Scanner $input=new Scanner(System.in); int i=$inout.nextInt(); System.out.println("请输入:" ); System.out.println("输出的结果为:" + i);

拓展:

可以使用ALT+Enter自动补全"="前的代码 例如:new Scanner(System.in);使用ALT+Enter$ input.close;关闭控制台,避免占用

使用hasNext来判断用户的输入格式

基本语法:

System.out.println("判断控制输入是否为有效数据"); System.out.println("输入int数据:"); Scanner $input=new Scanner(System.in); //接收int数据并且判断 if ($input.hasNextInt()){ //接收用户信息 int i = $input.nextInt(); System.out.println("数据等于 = " + i); }else{ System.out.println("格式错误!重新输入"); }

拓展: 通过Scanner类的next()与nextLine()方法获取用户输入的字符串(String),在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据 一、使用next方式

System.out.println("使用next与nextLine来判断用户的String输出"); Scanner input = new Scanner(System.in); System.out.println("使用next接收:"); //判断是否输出 if (input.hasNext()){ //用户接受数据 可使用input.next补全 String str = input.next(); System.out.println("输出的结果为:" + str); }

二、使用nextLine接收

System.out.println("使用nextLine接收"); Scanner input2 = new Scanner(System.in); //判断是否还有输出 if (input2.hasNextInt()){ //用户接受数据 可使用input.next补全 String next = input2.next(); System.out.println("输出的结果为:" + next); } //关闭控制台输入 $input.close(); input.close(); input2.close();
总结区别:

next():

一定要读取到有效字符后才可以结束输入对于有效字符遇到空白(空格),next()会自动去掉只有输入有效字符后才将其后面的空白(空格)作为结束符或者分隔符next不能的得到带有空格的字符串 nextLine():以Enter为结束符,也就是说nextLine()方法是输入回车前的所有字符可以获得空白!
最新回复(0)