gpt4 book ai didi

java - 将从文件读取的数字添加到初始化为 0 的totalAmount 中,给出意外的结果

转载 作者:行者123 更新时间:2023-12-02 07:53:32 25 4
gpt4 key购买 nike

我有一个小型作业应用程序,它将 5 到 77 之间的随机数写入文本文件,然后有一个单独的应用程序读取该文件并对数字求和。

这是我将数字写入文本文件的代码...

Random r = new Random();
int min = 5;
int max = 77;
int[]randomNumbers = new int[1000];

try
{
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("myTextFile.txt")), true);
for(int i = 0; i < randomNumbers.length; i++)
{
randomNumbers[i] = r.nextInt(max - min + 1) + min;
pw.println(randomNumbers[i]);
}

}
catch(IOException io){}

这是我用于读取文件并总计金额的代码...

int totalAmount = 0;

public void run()
{
try
{
BufferedReader buffy = new BufferedReader(new FileReader("myTextFile.txt"));
String s;

while((s = buffy.readLine()) != null)
{
int number = Integer.parseInt(s);
totalAmount += number;
System.out.println(totalNumbers);

}



}
catch(IOException io){}
}

输出以 29633 开头,一直显示到 42328

为什么我会得到这个结果......只是想理解我的代码的错误部分

最佳答案

您需要打印文件中的每个数字,还是只打印总数?

如果您需要打印每个数字,total 应用程序中的 while 循环应如下所示...

    while((s = buffy.readLine()) != null) {
int number = Integer.parseInt(s);
totalAmount += number;
System.out.println(number); // changed the variable here
}

但是,如果您只需要打印出最终结果,则需要将 System.out.println() 行移到 while 循环之外(并且仍然将变量更改为 totalAmount ...

    while((s = buffy.readLine()) != null) {
int number = Integer.parseInt(s);
totalAmount += number;
}
System.out.println(totalAmount); // changed the variable here, and moved it outside the loop

关于java - 将从文件读取的数字添加到初始化为 0 的totalAmount 中,给出意外的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9923909/

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