【问题标题】:Java ArrayIndexOutOfBoundsException 1 ErrorJava ArrayIndexOutOfBoundsException 1 错误
【发布时间】:2017-12-17 16:35:01
【问题描述】:

我正在尝试进行阶乘尾随零练习,但我不断得到数组索引超出范围的错误。需要帮助解决这个问题。谢谢!

import java.util.Scanner;
class Exercise3 {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int[] list = new int [n];
    int num = 1;
    int div = 5;
    int count = 0;
    for (int i=0;i<n;i++) {
        list[i] = sc.nextInt();
    }
    for (int i=0;i<num;i++) {
        while (list[i] > div) {
            count += list[i] / div;
            div=div*5;
            num++;
        }System.out.println(count);
    }

}

【问题讨论】:

  • 哪一行出现异常,什么输入导致错误?
  • 尝试打印出n 的值,看看它说了什么。
  • 数组列表有n个元素,但不能保证while循环不会增加num,这将允许i-loop超过n。 - 最好指定程序应该做什么。

标签: java


【解决方案1】:

你有

for (int i=0;i<num;i++) {

然后

num++;

每圈都会增加。 这就是为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-15
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 2016-03-24
    相关资源
    最近更新 更多