.设计一个程序,使用Scanner类解析出字符串“语文90分,数学89分,外语82分”中的成绩, 并计算总成绩和平均成绩
时间: 2024-12-24 20:28:21 浏览: 10
要设计这样一个程序,你可以按照以下步骤进行:
1. 导入必要的类:`java.util.Scanner`用于从控制台读取用户输入。
2. 创建一个 `Scanner` 对象,以便读取用户输入。
3. 定义一个字符串变量存储学生的成绩信息,以及三个整数变量分别代表语文、数学和外语的成绩。
4. 使用 `Scanner` 的 `nextLine()` 方法获取输入的字符串。
5. 利用字符串处理(例如 `split()` 方法)将字符串分割成各个科目及其对应的分数。
6. 将每个分数转换为整数并累加到总成绩。
7. 计算平均成绩,即总成绩除以科目数量。
下面是示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 提示用户输入成绩信息
System.out.println("请输入学生各科成绩,格式如:语文90分,数学89分,外语82分");
String scoresInput = scanner.nextLine();
// 分割字符串
String[] scoreParts = scoresInput.split(", ");
int totalScore = 0;
for (String part : scoreParts) {
// 获取每门学科的成绩和名称
String subject = part.substring(0, part.indexOf("分")).trim();
int score = Integer.parseInt(part.substring(part.indexOf("分") + 1).trim());
// 更新总成绩
totalScore += score;
// 只有三科,不需要循环遍历,但这里为了清晰,保留了循环
}
// 计算平均成绩
double averageScore = (double) totalScore / 3;
// 输出结果
System.out.printf("总成绩: %d\n", totalScore);
System.out.printf("平均成绩: %.2f\n", averageScore);
scanner.close(); // 关闭扫描器
}
}
```
阅读全文