Java学习记录之Scanner
发布日期:2021-05-24 05:19:30 浏览次数:18 分类:精选文章

本文共 2611 字,大约阅读时间需要 8 分钟。

Scanner类与随机数生成的Java编程实用指南

作为Java开发者,掌握Scanner类的使用是日常编程中不可或缺的一部分。它为你提供了获取键盘输入的功能,极大简化了用户与程序交互的流程。而如果你需要生成随机数,则可以利用Random类,两者结合使用能帮助你开发更加灵活的程序。以下内容将详细教你如何操作。

一、基本操作步骤

使用Scanner类获取键盘输入,步骤清晰易懂。

  • 导包

    Scanner类位于java.lang包中,所以无需额外导包。但如果你使用其他不在java.lang的包中的类,则需要添加import语句。

  • 创建Scanner实例

    使用System.in获取输入,通常会写成:
    Scanner sc = new Scanner(System.in);

  • 采集输入

    根据需求选择kbd输入类型:

    • 获取数字:int num = sc.nextInt();
    • 获取字符串:String str = sc.nextLine();

    实例如下:

    public class Demo01Scanner {
    public static void main(String[] args) {
    // 创建Scanner实例
    Scanner sc = new Scanner(System.in);
    // 读取数字
    int num = sc.nextInt();
    System.out.println("用户输入的数字是:" + num);
    }
    }

    这一部分的代码告诉你,通过创建Scanner实例并绑定系统输入流,随后调用NEXTInt()方法获取数字。

    二、Random类生成随机数

    随机数生成是程序开发中的常见需求,Random类提供了便捷的方法。

  • 导包

    导入Random类所在的包:import java.util.Random;。

  • 创建Random实例

    创建实例会话:
    Random r = new Random();

  • 生成随机数

    • 不带范围:int randomInt = r.nextInt();

      返回的范围是- Integer.MIN_VALUE到Integer.MAX_VALUE之间的任意整数。

    • 有范围限制:int restrictedInt = r.nextInt(5);

      参数表示左闭右开区间,例如nextInt(5)会返回0到4之间的整数。

    以下代码展示了这两种方式的应用:

    public class RandomDemo {
    public static void main(String[] args) {
    Random r = new Random();
    System.out.println("随机数字范围内:" + r.nextInt(5));
    System.out.println("完全随机数字:" + r.nextInt());
    }
    }

    三、综合示例

    将Scanner和Random结合使用,编写一个简单的猜数字游戏。

  • 编写清单文件,创建Resources/right.rb,并放入数字文件。
  • 在主类中读取数字文件内容:
  • public class NumberGuessingGame {
    public static void main(String[] args) {
    // 随机目标数字
    Random r = new Random();
    int target = r.nextInt(100); // 目标数在0~99之间
    // 读取用户输入
    Scanner sc = new Scanner(System.in);
    System.out.println("猜数字:输入0到99之间的数字。");
    // 判断输入并给出反馈
    while (true) {
    String input = sc.nextLine();
    try {
    int number = Integer.parseInt(input);
    if (number == target) {
    System.out.println("恭喜!你猜对了,数字是:" + number);
    break;
    } else if (number < target) {
    System.out.println("太低了,尝试更大的数字。");
    } else {
    System.out.println("太高了,尝试更小的数字。");
    }
    } catch (NumberFormatException e) {
    System.out.println("请输入1~100之间的整数!");
    }
    }
    }
    }

    小贴士

    • 选择合适的输入类型:如果需要判断用户输入的数值范围,用Scanner的hasNext()方法可以避免输入错误。
    • 读取大文件时,尽量改用BufferedReader来提高读取效率。在Java环境中,建议这样操作:
      BufferedReader br = new BufferedReader(new InputStreamReader(sc, "UTF-8"));
    • 报错处理:在输入读取部分添加try-catch语句,可以更好地处理输入错误。
    • 性能优化:如果进行大量输入操作,考虑切换到批处理模式,使用sc.useDelimiter Рас xl.java"所有行,除了空行)。

    过这些方法可以让你的键盘输入处理更加高效和可靠,随机数生成也能增加程序的趣味性和动态性。

    上一篇:Java学习记录之ArrayList集合
    下一篇:Java学习记录之构造方法

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年05月05日 11时31分20秒