Java流程控制
java.util.Scanner是java5的新特征,是一个工具包,可以通过Scanner类获取用户的输入
基本语法:Scanner s=new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要用hasNext()与hasNextLine()判断是否还有输入的数据
next():
-
一定要读取到有效字符才可以结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
nextLine():
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
-
可以获得空白
package 程序设计JAVA; import java.util.Scanner; public class Scanner面向对象 { public static void main(String[] args) { /* //创建一个扫描器对象,用于接受键盘数据 Scanner scanner=new Scanner(System.in); System.out.println("使用next方式接受"); //判断用户有没有输入字符串 if(scanner.hasNext()) { //使用next方式接受 String str= scanner.next(); System.out.println("输入的内容为:"+str); } //关闭扫描器,减少资源占用,凡是属于I/O流的类不关闭会一直占用资源 scanner.close(); Scanner huhu=new Scanner(System.in); System.out.println("使用nextLine方式接受"); if (huhu.hasNextLine()){ String str1=huhu.nextLine(); System.out.println("输入的字符串是:"+str1); } huhu.close(); */ Scanner sanner=new Scanner(System.in); System.out.println("请输入字符串"); String str=sanner.nextLine(); System.out.println("得到的字符串是:"+str); sanner.close(); } }
scanner 高阶用法
多个数字相加求平均值
import java.util.Scanner; public class 多个数字相加 { public static void main(String[] args) { Scanner scanner =new Scanner(System.in); int i=0; double sum=0; while(scanner.hasNextDouble()) { Double x=scanner.nextDouble(); i=i+1; sum=sum+x; } System.out.println("总数为:"+sum); System.out.println("平均数为"+sum/i); scanner.close(); } }
比较数的大小
import java.util.Scanner; public class 比较数的大小 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入数字:"); double max=1; while(scanner.hasNextDouble()) { double x=scanner.nextDouble(); if(max>x) { max=max; } else { max=x; } } System.out.println("所输入的数里最大为"+max); scanner.close(); } }