假定一个文本文件中包含未定个数的分数,用户输入文件名,然后从文件中读入分数,并求和Java
时间: 2024-02-29 22:52:59 浏览: 89
好的,针对您的问题,可以使用Java中的Scanner类来读取文件中的分数,并使用循环来计算分数总和。以下是示例代码:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class SumScoresFromFile {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 获取文件名
System.out.print("请输入文件名:");
String fileName = scanner.next();
try {
File file = new File(fileName);
Scanner fileScanner = new Scanner(file);
double sum = 0.0;
int count = 0;
// 循环读取文件中的分数并计算总和
while (fileScanner.hasNextDouble()) {
double score = fileScanner.nextDouble();
sum += score;
count++;
}
System.out.println("总分:" + sum);
System.out.println("平均分:" + (sum / count));
fileScanner.close();
} catch (FileNotFoundException e) {
System.out.println("文件不存在!");
}
scanner.close();
}
}
```
在上面的代码中,我们首先使用Scanner类从控制台获取文件名。然后,我们使用try-catch语句来打开文件并创建一个Scanner对象以读取文件中的内容。在while循环中,我们使用hasNextDouble()方法来检查文件中是否还有下一个分数,如果有,我们使用nextDouble()方法获取下一个分数并将其加入到总和中。最后,我们打印出总分和平均分。如果文件不存在,则会捕获FileNotFoundException异常并打印一条错误消息。
阅读全文