gpt4 book ai didi

Java 将考试成绩写入文件

转载 作者:行者123 更新时间:2023-11-30 10:54:12 25 4
gpt4 key购买 nike

我需要让用户循环输入10个分数并将每个分数写入文件“scores.txt”,但程序在我输入一个分数后终止。我不确定如何让程序将 10 个乐谱中的每一个都写入文件。

最终程序应提示用户输入多个分数,将分数写入文件,然后打开该文件,计算平均值并显示。

循环的退出条件可以是负分;如果是否定的,我可以假设用户已完成输入数据。

public class MoreTestScores {

/**
* @param args the command line arguments
*/

public static void main(String[] args) throws IOException {
writeToFile("scores.txt");
processFile("scores.txt");
}

public static void writeToFile (String filename) throws IOException {
BufferedWriter outputWriter = new BufferedWriter(new FileWriter("scores.txt"));
System.out.println("Please enter 10 scores.");
System.out.println("You must hit enter after you enter each score.");
Scanner sc = new Scanner(System.in);
int score = 0;
while (score <= 10)
{
score = sc.nextInt();
outputWriter.write(score); }
}

public static void processFile (String filename) throws IOException, FileNotFoundException {
double sum = 0;
double number;
double average;
double count = 0;
BufferedReader inputReader = new BufferedReader (new InputStreamReader(new FileInputStream("scores.txt")));
String line;
while ((line = inputReader.readLine()) != null) {
number = Double.parseDouble(line);
sum += number;
count ++; }
average = sum/count;
System.out.println(average);
inputReader.close();
}

最佳答案

你应该使用 counter跟踪输入:

int count = 0;
int score = 0;
while (count < 10) {
score = sc.nextInt();
if(score < 0) break;
outputWriter.write(score);
count++;
}

你在做什么:

int score = 0;
while (score <= 10) {
score = sc.nextInt();
outputWriter.write(score);
}

每当您输入大于 10 的值时(我假设你是你的第一个输入),循环将终止为条件 score <= 10变成 false .

关于Java 将考试成绩写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33738372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com