首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArrayIndexOutOfBoundsException: 15

ArrayIndexOutOfBoundsException: 15
EN

Stack Overflow用户
提问于 2015-11-22 01:44:11
回答 1查看 980关注 0票数 1

我试图编写这段代码来读取文件,并将值作为数组输入。然后,使用这些值,将spot 1-5、2-6、3-7等中的数字添加到文件的末尾,这样做后,我想将这些新值放入数组中。

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

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

代码语言:javascript
复制
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 );


    }

}

这将引发以下错误

代码语言:javascript
复制
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15
    at Asgn7.main(Asgn7.java:25)

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

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-22 01:47:00

您需要i < array.length - 5,因为您有一个内部循环,可以提前5点扫描。就像,

代码语言:javascript
复制
for (int i = 0 ; i < array.length - 5; i++) 
{
    for (int j = 0; j < 5 ; j++)
    {

代码语言:javascript
复制
for (int i = 0 ; i + 5 < array.length; i++) 
{
    for (int j = 0; j < 5 ; j++)
    {

此外,还需要将值相加才能得到平均值。

代码语言:javascript
复制
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);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33850736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档