Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 阵列索引边界外异常:15_Java_Arrays - Fatal编程技术网

Java 阵列索引边界外异常:15

Java 阵列索引边界外异常:15,java,arrays,Java,Arrays,我试图写这段代码来读取一个文件并将值作为数组输入。然后用这些值,在spot 1-5、2-6、3-7等中添加数字,直到文件结束,完成后,我想将这些新值放入一个数组中 然后我尝试比较数组的值,看看第一个数组的值是否大于第二个数组的值0.999 我的代码在这里,这只是为了得到正确的值,而不是转移到代码的第二部分 import java.io.*; import java.util.Scanner; public class Asgn7 { public static void main(St

我试图写这段代码来读取一个文件并将值作为数组输入。然后用这些值,在spot 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 );


    }

}
编辑:我不确定我的代码是否正确,这是我第一次使用数组,我对xD非常生疏


谢谢

您需要
i
,因为您有一个内部循环,可以提前五分钟扫描。大概

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

for (int i = 0 ; i + 5 < array.length; i++) 
{
    for (int j = 0; j < 5 ; j++)
    {
for(int i=0;i+5
此外,您需要将这些值相加以获得平均值

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);
for(int i=0;i+5
另一个快速问题..我有两个数组,如何比较它们?例如,如果array1+值0.999>array2做了一些事情,我将如何比较它们?@JonRoy这不是问另一个问题的正确地方,但你是指arr1中所有值的总和与arr2的总和吗?
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);