例1:
1 package com.wang.scanner;
2
3 import java.util.Scanner;
4
5 public class Demo01 {
6 public static void main(String[] args) {
7 //创建一个扫描器对象,用于接收键盘数据
8 Scanner scanner = new Scanner(System.in);
9 System.out.println("使用next方式接收:\n");
10
11 //hasNext()方法判断用户有没有输入字符串
12 if(scanner.hasNext()){
13 //使用next方式接收
14 String str=scanner.next(); //程序会等待用户输入完毕
15 System.out.println("输出的内容为:"+str);
16 }
17 //scanner对象是属于输入i/o类,如果不关闭会一直占用资源,就好比如开了水龙头不关
18 scanner.close();
19 }
20 }
当输入hello world时,输出结果:
例2:
1 package com.wang.scanner;
2
3 import java.util.Scanner;
4
5 public class Demo02 {
6 public static void main(String[] args) {
7 //创建一个扫描器对象,用于接收键盘数据
8 Scanner scanner = new Scanner(System.in);
9 System.out.println("使用nextline方式接收:\n");
10 //hasNextLine()方法判断用户有没有输入字符串
11 if(scanner.hasNextLine()){
12 String str=scanner.nextLine();
13 System.out.println("输出为:"+str);
14 }
15 //scanner对象是属于输入i/o类,如果不关闭会一直占用资源,就好比如开了水龙头不关
16 scanner.close();
17 }
18 }
当输入hello world时,输出结果:
- next()和nextline()的作用和区别
例3
1 package com.wang.scanner;
2
3 import java.util.Scanner;
4 //不用if判断语句,直接输入输出
5 public class Demo03 {
6 public static void main(String[] args) {
7 Scanner scanner = new Scanner(System.in);
8 System.out.println("please input :\n");
9
10 String str= scanner.nextLine();
11 System.out.println(str);
12 scanner.close();
13 }
14
15 }
例4:
当定义的变量为基本数据类型时(int、float...)
1 package com.wang.scanner;
2
3 import java.util.Scanner;
4
5 //当定义的变量为基本数据类型时(int、float...)
6 public class Demo04 {
7 public static void main(String[] args) {
8 Scanner scanner = new Scanner(System.in);
9 //从键盘接收数据
10 int a = 0;
11 float b = 0.0f;
12
13
14 System.out.println("请输入一个整数:");
15 if (scanner.hasNextInt()) { //hasNext后面必须加上他们的数据类型
16 a = scanner.nextInt(); //next后也必须加上他们的数据类型
17 System.out.println(a);
18 }else{
19 System.out.println("您输入的不是整数");
20 }
21
22 System.out.println("请输入一个小数:");
23 if (scanner.hasNextFloat()) {
24 b = scanner.nextFloat();
25 System.out.println(b);
26 }else{
27 System.out.println("您输入的不是小数");
28 }
29 scanner.close();
30 }
31 }
例5:
输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字结束输入并输出结果
1 package com.wang.scanner;
2
3 import java.util.Scanner;
4
5 public class Demo05 {
6 public static void main(String[] args) {
7 //输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字结束输入并输出结果
8 Scanner scanner = new Scanner(System.in);
9
10 //和
11 double sum=0;
12 //计算输入了多少个数字
13 int m = 0;
14
15 //通过循环判断是否还有输入,并在里面对每一次进行求和统计
16 System.out.println("请输入数据:");
17 while(scanner.hasNextFloat()){
18 double x=scanner.nextDouble();
19 m+=1;
20 sum+=x;
21 System.out.println("您输入了第"+m+"个数据,当前结果sum="+sum);
22 }
23 System.out.println(m+"个数的和为"+sum);
24 System.out.println(m+"个数的平均值为"+(sum/m));
25
26 scanner.close();
27 }
28 }