Scanner对象
通过Scanner类来获取用户的输入.
基本语法
Scanner s=new Scanner(Sytem.in);
通过Scanner类的next()与nextLine()方法来获取输入的字符串。
public static void main(String[] args) { //创造应该扫描器对象,用于接受键盘数据; Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if(scanner.hasNext()){ //使用naxt方式接收 String str=scanner.next();//程序会等待用户输入完毕 System.out.println("输入内容为"+str); } //凡是属于IO流的类如果不关掉会占用资源,养成良好习惯用完就关掉. scanner.close(); }
public static void main(String[] args) { //创造扫描器 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); //判断是否输入 if (scanner.hasNextLine()){ String str = scanner.nextLine(); System.out.println("输出类容为:"+str); } scanner.close(); }
next():
-
一定要读取刀有效的字符后才可以结束输入。
-
对输入有效字符之前遇到空白,next()方法会自动将其去掉。
-
只有输入有限字符后才将其后面输入的空白作为分割符或结束符。
-
next()不能得到带有空格的字符串。
nextLine():
-
以Enter为结束符,也就是说nextLine()方法返回的输入回车之前所有字符。
-
可以获得空白。
public static void main(String[] args) { //题目 我们输入多个数,求出和与平均数。每输入一个字用回车确认,通过输入非数字来结束输入并输出执行结果; Scanner scanner = new Scanner(System.in); System.out.println("请输入您要计算的数据"); //sum 是他们的和 double sum=0; //看你输入了多少次 int m=0; //while 是循环 while(scanner.hasNextDouble()){ double x=scanner.nextDouble(); m=m+1; sum=sum+x; System.out.println("当前数的和为"+sum+"当前输入第"+m+"数据"); } System.out.println("和为"+sum); System.out.println("平均数为"+(sum/m)); scanner.close(); }