gpt4 book ai didi

java - 难以找到最高平均值

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

我的下面的代码有两个问题。我正在研究平均值。

首先,我正在努力找出哪一周的平均值最高,然后输出该平均值。

其次,txt 文件中有 39 周,但运行我的代码时只计算了 38 周。

这是我到目前为止的代码

import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class TemperaturesWeek2 {
public static void main( String [] args ) throws IOException {
int count=0;
int counts=0;

File inputFile = new File ("C:/Users/Phillip/Documents/Temp/temperatures.txt .txt");
Scanner scan = new Scanner(inputFile);


while(scan.hasNext()) {
count++;
scan.nextLine();

String words = scan.next();

double num1 = scan.nextDouble();
double num2 = scan.nextDouble();
double num3 = scan.nextDouble();
double num4 = scan.nextDouble();
double num5 = scan.nextDouble();
double num6 = scan.nextDouble();
double num7 = scan.nextDouble();

double average = (num1 + num2 + num3+ num4+ num5+ num6+ num7) / 7;

if(average >= 90) {
counts++;
}
}
System.out.println("Temperature Statistics:");
System.out.println("Number of weeks: " + count);
System.out.println("Weeks with an average temperature of 90 or above: " + counts);
System.out.println("Highest average weekly temperature:");
}
}

最佳答案

您似乎跳过了文件的第一行,因为您在读取各种 double 之前调用了 scan.nextLine();

要找出哪一周的平均值最高,一个简单的解决方案是在代码中添加两个变量,例如:

int highestWeek = 0;
double highestAverage = 0;

然后使用 if 语句将所需的值存储在 while 循环中(有很多方法可以决定最大值是多少,您可以使用 Math 类,或者如果您想操作,则可以将所有内容存储在数组中数据稍后再说)。例如:

if (average>highestAverage)
{
highestAverage=average;
highestWeek=count;
}

注意:这将忽略多周具有最高平均值的情况。

关于java - 难以找到最高平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19943847/

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