分别使用StringTokenizer类、Scanner类、Pattern类和Matcher类的实例解析字符串:"数学87分,物理76分,英语96分"中的考试成绩,并计算出总成绩以及平均分数
时间: 2023-03-27 12:02:40 浏览: 124
python 输入学生考试成绩计算平均分 示例
5星 · 资源好评率100%
可以使用以下代码来解析字符串并计算总成绩和平均分数:
```
String input = "数学87分,物理76分,英语96分";
int totalScore = ;
int count = ;
// 使用StringTokenizer类解析字符串
StringTokenizer st = new StringTokenizer(input, ",");
while (st.hasMoreTokens()) {
String token = st.nextToken();
int score = Integer.parseInt(token.substring(token.indexOf("分") - 2, token.indexOf("分")));
totalScore += score;
count++;
}
// 使用Scanner类解析字符串
Scanner scanner = new Scanner(input).useDelimiter(",");
while (scanner.hasNext()) {
String token = scanner.next();
int score = Integer.parseInt(token.substring(token.indexOf("分") - 2, token.indexOf("分")));
totalScore += score;
count++;
}
// 使用Pattern类和Matcher类解析字符串
Pattern pattern = Pattern.compile("(\\d+)分");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
int score = Integer.parseInt(matcher.group(1));
totalScore += score;
count++;
}
double averageScore = (double) totalScore / count;
System.out.println("总成绩:" + totalScore + ",平均分数:" + averageScore);
```
输出结果为:
```
总成绩:259,平均分数:86.33333333333333
```
阅读全文