2022.3.8 Scanner

Scanner

next()

  1. 一定要读取到有效字符后才可以结束输入

  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉

  3. 只有输入有效字符后才将其输入的空白作为分隔符或结束符

  4. next()不能得到带有空格的字符串

 1  package com.xing.scanner;
 2  3  import java.util.Scanner;
 4  5  public class Demo01 {
 6      public static void main(String[] args) {
 7          //创建一个扫描器对象,用于接收键盘数据
 8          //类    变量名
 9          Scanner scanner = new Scanner(System.in);
10 11          System.out.println("使用next方式接收:");
12 13          //判断用户有没有输入字符串
14          if (scanner.hasNext()) {//如果用户还有输入
15              //使用next方式接收
16              String str = scanner.next();//程序等待用户输入,输入Hello World
17              System.out.println("输入的内容为:" + str);//输入的内容为:Hello
18          }
19          //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
20          scanner.close();
21      }
22  }

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符

  2. 可以获得空白

 1  package com.xing.scanner;
 2  3  import java.util.Scanner;
 4  5  public class Demo02 {
 6      public static void main(String[] args) {
 7          Scanner scanner = new Scanner(System.in);
 8  9          System.out.println("使用nextLine方式接收:");
10          if (scanner.hasNextLine()) {
11              String str = scanner.nextLine();//输入Hello World
12              System.out.println("使用nextLine方式输出" + str);//输出:Hello World
13          }
14          scanner.close();
15      }
16  }

nextLineInt

 1  package com.xing.scanner;
 2  3  import java.util.Scanner;
 4  5  public class Demo03 {
 6      public static void main(String[] args) {
 7          int i = 0;
 8          float f = 0.0f;
 9          System.out.println("请输入整数:");
10 11          Scanner scanner = new Scanner(System.in);
12          if (scanner.hasNextInt()) {
13              i = scanner.nextInt();
14              System.out.println("输出" + i);
15          }else{
16              System.out.println("输入的不是整数数据");
17          }
18 19 20          System.out.println("请输入小数:");
21          if (scanner.hasNextFloat()) {
22              f = scanner.nextFloat();
23              System.out.println("输出" + f);
24          }else{
25              System.out.println("输入的不是小数数据");
26          }
27 28          scanner.close();
29      }
30  }

 

输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果

 

 1  package com.xing.scanner;
 2  3  import java.util.Scanner;
 4  5  public class Demo04 {
 6      public static void main(String[] args) {
 7          //输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果
 8          Scanner scanner = new Scanner(System.in);
 9 10          double sum = 0;
11          int m = 0;//数字个数
12 13          while (scanner.hasNextDouble()) {
14              double d = scanner.nextDouble();
15              sum = sum + d;
16              m++;
17              System.out.println("你输入了" + m + "个数据,当前和为" + sum);
18          }
19          System.out.println(m + "个数和:" + sum);
20          System.out.println(m + "个数平均数:" + (sum / m));
21 22 23 24 25          scanner.close();
26      }
27  }

 

posted @ 2022-03-08 15:23  暴躁C语言  阅读(248)  评论(0)    收藏  举报