让用户自己输入数据的 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();
}
}
代码解析
- 首先,我们创建了一个
Scanner对象,用于从控制台读取用户的输入。 - 然后,通过
Scanner.nextInt()方法获取用户输入的学生人数,并将其存储在studentCount变量中。 - 接下来,我们创建了两个数组
names和scores,用于存储学生的姓名和成绩。 - 使用一个循环,依次获取每个学生的姓名和成绩,并将其保存到对应的数组中。
- 接着,我们使用另一个循环计算所有学生的成绩总和。
- 最后,通过除以学生人数,计算出平均成绩,并输出结果。
甘特图
以下是该程序的甘特图示例:
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 中如何让用户自己输入数据。
















