gpt4 book ai didi

java - ArrayIndexOutOfBoundsException : 15

转载 作者:行者123 更新时间:2023-11-29 04:55:43 25 4
gpt4 key购买 nike

我正在尝试编写这段代码来读取文件并将值作为数组输入。然后使用这些值,将数字添加到 1-5、2-6、3-7 等位置,直到文件末尾,完成此操作后我想将这些新值放入数组中。

然后我尝试比较数组,看看第一个数组的值是否比第二个数组的值大 > 0.999

我的代码在这里,这只是为了获得正确的值,而不是移到代码的第二部分

import java.io.*;
import java.util.Scanner;

public class Asgn7
{
public static void main(String[] args) throws FileNotFoundException
{
Scanner file = new Scanner(new File("asgn7data.txt"));
double[] array = new double[file.nextInt()];
double[] newArray = new double[array.length];
int counter = 0;
int count = 0;
int maxTemp = 0;
int minTemp = 0;
double tempVar = 0;
double tempVal = 0;

while (file.hasNextInt()) array[counter++] = file.nextInt();
{
for (int i = 0 ; i < array.length; i++)
{

for (int j = 0; j < 5 ; j++)
{
newArray[i] += array[i + j] / 5; //Getting Average TEMP over 5 days.

}

System.out.println(array[i]);






}
}










System.out.println("Maximum Temperature within peaks " + maxTemp );


}

}

这是抛出以下错误

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15
at Asgn7.main(Asgn7.java:25)

编辑:我不确定我的代码是否正确,这是我第一次使用数组,我真的很生疏 xD。

谢谢

最佳答案

你需要i < array.length - 5因为您有一个内部循环可以提前五次扫描。类似的东西,

for (int i = 0 ; i < array.length - 5; i++) 
{
for (int j = 0; j < 5 ; j++)
{

for (int i = 0 ; i + 5 < array.length; i++) 
{
for (int j = 0; j < 5 ; j++)
{

此外,您需要将这些值相加以获得平均值。

for (int i = 0 ; i + 5 < array.length; i++) 
{
int total = 0;
for (int j = 0; j < 5 ; j++)
{
total += array[i + j];
}
System.out.printf("Average is: %.1f%n", total / 5);

关于java - ArrayIndexOutOfBoundsException : 15,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33850736/

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