首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >线程"main“java.lang.ArrayIndexOutOfBoundsException异常:(你输入的数字是负数)

线程"main“java.lang.ArrayIndexOutOfBoundsException异常:(你输入的数字是负数)
EN

Stack Overflow用户
提问于 2018-07-26 08:47:54
回答 1查看 41关注 0票数 -1

当我输入任何大于4的amountNumber时,它会出现:

在finder_pairs.finder_program_main.main(finder_program_main.java:19)的线程"main“java.lang.ArrayIndexOutOfBoundsException中出现异常:(数字I输入,但为负)

            System.out.println("How many numbers will you input?");
    Scanner amount = new Scanner(System.in);
    int amountNumbers = amount.nextInt();
    if (amountNumbers < 4)
        System.out.println("Error you need to input at least 4 numbers");
    System.out.println("Write the numbers: ");
    Scanner numbers = new Scanner(System.in);
    int repetition = amountNumbers;
    do {
    int[] num = new int[amountNumbers];
    int num1 = num[0-amountNumbers];
    int num2 = num[1-amountNumbers];
    int num3 = num[0-amountNumbers];
    int num4 = num[1-amountNumbers];
    if (num1 + num2 == num3 + num4)
        System.out.println(num1 + " + " + num2 + "is equal to " + num3 + " + " + num4);
    repetition-- ;
    }while(repetition > 0);
    amount.close();
    numbers.close();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-07-26 08:54:52

在这行中:

int num1 = num[0-amountNumbers];

您已尝试调用0-amountNumbers的索引,您指定的索引必须大于或等于4。这将意味着这将始终导致indexoutofboundserror,因为0减去正数将是零,这不是有效的array索引。我不确定您打算如何处理这行代码,但您必须确保您调用的索引将为0或更大

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51529490

复制
相关文章

相似问题

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