Scanner

next()

  • 不能带有空格的字符串,以空格作为分隔符或结束符
//创建一个扫描器,用于接收输入数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收: ");

//判断用户是否有输入
if (scanner.hasNext()) {
    //使用next方式接收
    String str = scanner.next();
    System.out.println("输入的内容为:"+str);
}

scanner.close();

nextLine()

  • 以Enter为结束符
//从键盘接收数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收: ");

//判断是否还有输入
if (scanner.hasNextLine()){
    String str = scanner.nextLine();
    System.out.println("输入的内容为:"+str);
}

scanner.close();

实例:判断输入内容是整数还是小数

Scanner scanner = new Scanner(System.in);

//从键盘接收数据
int i = 0;
float f = 0.0f;

System.out.println("请输入整数:");
if (scanner.hasNextInt()){
    i = scanner.nextInt();
    System.out.println("整数数据为:" + i);
}else {
    System.out.println("输入的不是整数数据");
}

System.out.println("请输入小数:");
if (scanner.hasNextFloat()){
    f = scanner.nextFloat();
    System.out.println("小数数据为:" + f);
}else {
    System.out.println("输入的不是小数数据");
}

scanner.close();

实例:输入多个数字,计算其总和和平均值

//输入多个数字,计算其总和和平均值,每输入一个数字通过回车健确认
Scanner scanner = new Scanner(System.in);

System.out.println("请输入数据");

//和
double sum = 0;
//计算输入了多少个数字
int m = 0;

//判断是否还有输入,并在每次输入时进行求和计算
while (scanner.hasNextDouble()){
    Double x = scanner.nextDouble();
    sum+=x;
    ++m;
    System.out.println("你输入了第"+m+"个数字,当前总和为:"+sum+"平均值为"+sum/(double)m);
}

System.out.println(m+"个数的总和为:"+sum);
System.out.println(m+"个数的平均数为:"+sum/(double)m);


scanner.close();
posted @ 2025-03-09 14:56  LouisMLei  阅读(20)  评论(0)    收藏  举报