java学习之用户交互Scanner的进阶使用


Scanner

1.用户交互Scanner的进阶使用

  • 之前我们学习了Scanner的基本语法并实现程序和人的交互, 这次我们通过Scanner 类与if,while语句来获取用户的输入。
  • 基本语法:

          Scanner s=new Scanner(System.in);
    

1.1 简单使用Scanner和if判断语句:

package scanner;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //从键盘接收数据
        int a=0;
        float f=0.0f;

        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入数据");
         // 如果.....那么.....
        if(scanner.hasNextInt()){
             a= scanner.nextInt();
             System.out.println("您输入的数据是:"+a );

        }else {
            System.out.println("您输入的数据不是整数!");
        }

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

        // 如果.....那么.....
        if(scanner.hasNextFloat()){
            f=scanner.nextFloat();
            System.out.println("您输入的小数数据为:"+f);
        }else {
            System.out.println("您输入的不是小数!");
        }

        scanner.close();

    }
}


运行结果

请您输入数据
11
您输入的数据是:11
请输入小数数据
7.7
您输入的小数数据为:7.7

1.2 简单使用Scanner和while循环语句:

package scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {

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

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

        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入数据");

        // 通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while (scanner.hasNextDouble()){
            double v = scanner.nextDouble();
            a=a+1;//a++
            sum=sum+v;

            System.out.println("您输入了:"+a+"个数字和为:"+sum);

        }

        System.out.println("您一共输入了:"+a+"个数据");
        System.out.println("数字总和为:"+sum+",平均数为:"+(sum/a));

        scanner.close();
    }
}


运行结果

请您输入数据
15
您输入了:1个数字和为:15.0
15
您输入了:2个数字和为:30.0
s
您一共输入了:2个数据
数字总和为:30.0,平均数为:15.0



1.3 更多参考

狂神说Java