让用户自己输入数据的 Java 程序设计

在 Java 程序设计中,经常需要用户输入数据来进行后续的计算或处理。本文将介绍如何让用户通过控制台输入数据,并通过一个实际问题的例子来说明。

实际问题

我们假设有一个学生管理系统,需要录入学生的姓名和成绩,并计算学生的平均成绩。这个问题可以通过让用户输入学生的姓名和成绩来解决。

流程图

以下是该程序的流程图:

flowchart TD
A(开始)
A --> B(输入学生姓名)
B --> C(输入学生成绩)
C --> D(计算平均成绩)
D --> E(输出结果)
E --> F(结束)

示例代码

以下是一个简单的 Java 程序,实现了上述的学生管理系统。

import java.util.Scanner;

public class StudentManagementSystem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入学生的人数:");
        int studentCount = scanner.nextInt();
        
        String[] names = new String[studentCount];
        double[] scores = new double[studentCount];
        
        for (int i = 0; i < studentCount; i++) {
            System.out.println("请输入第" + (i + 1) + "个学生的姓名:");
            names[i] = scanner.next();
            
            System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
            scores[i] = scanner.nextDouble();
        }
        
        double sum = 0;
        for (int i = 0; i < studentCount; i++) {
            sum += scores[i];
        }
        
        double average = sum / studentCount;
        System.out.println("平均成绩为:" + average);
        
        scanner.close();
    }
}

代码解析

  1. 首先,我们创建了一个 Scanner 对象,用于从控制台读取用户的输入。
  2. 然后,通过 Scanner.nextInt() 方法获取用户输入的学生人数,并将其存储在 studentCount 变量中。
  3. 接下来,我们创建了两个数组 namesscores,用于存储学生的姓名和成绩。
  4. 使用一个循环,依次获取每个学生的姓名和成绩,并将其保存到对应的数组中。
  5. 接着,我们使用另一个循环计算所有学生的成绩总和。
  6. 最后,通过除以学生人数,计算出平均成绩,并输出结果。

甘特图

以下是该程序的甘特图示例:

gantt
dateFormat YYYY-MM-DD
title 学生管理系统
section 输入
输入学生人数: 2021-01-01, 1d
输入学生姓名和成绩: 2021-01-02, 2d
section 计算
计算平均成绩: 2021-01-04, 1d
section 输出
输出结果: 2021-01-05, 1d

总结

通过让用户自己输入数据,我们可以解决许多实际问题。在 Java 中,我们可以使用 Scanner 类来从控制台读取用户的输入。本文通过一个学生管理系统的例子,演示了如何让用户输入数据,并进行后续计算和处理。希望本文能帮助读者更好地理解 Java 中如何让用户自己输入数据。