用户交互

在程序运行的过程中,可以让用户录入一些数据,存储在内存的变量中,在后续的程序运行过程中可以使用这些数据。

步骤:

  1. 导包,在类的声明上面,import java.util.Scanner;
  2. 创建键盘录入对象,Scanner scanner = new Scanner(System.in);
  3. 调用sc对象的nextXXX()方法,获取键盘录入的数据
    int x = scanner.next();
  4. 使用x后续处理

包的本质就是文件夹

  • 为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用“import”语句可以完成词功能
    格式: import package1[.package2].(classname|*)
    *是通配符,表示导入这个包下的所有类
  • 包的作用为了防止命名空间的重复
  • "package"必须放在第一行

next():

  1. 一定要读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
  3. 只有输入有效字符后才将起后面输入的空白作为分隔符或者结束符。
  4. next()不能得到带有空格的字符串。
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方式接收");

        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            String str = scanner.next();//程序会等待用户输入完毕
            System.out.println("输出的内容为:"+str);
        }

        //凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯用完就关掉
        scanner.close();
    }
}

运行结果如下图:

nextLine():

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。
import java.util.Scanner;

public class Demo {
    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();
    }
}

运行结果如下图:

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        //我们可以输入多个数字,并求其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
        Scanner scanner = new Scanner(System.in);
        //和
        double sum = 0;

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

        System.out.println("请输入数据:");
        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while(scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m++;
            sum += x;
        }
        System.out.println(m + "各数的和为" + sum);
        System.out.println(m + "各数的平均数为" + (sum / m));
        scanner.close();
    }
}
posted @ 2021-12-01 17:14  呵嗷嚎  阅读(62)  评论(0)    收藏  举报