【问题标题】:Parallel for loop running out of bounds java并行for循环超出范围java
【发布时间】:2020-12-05 12:43:57
【问题描述】:

我在大学项目中遇到了 for 循环问题。我的循环试图从 kb 读取和存储值并存储在数组中。我已经为我的数组创建了最大值,但是当我到达最终输入时,循环超出了界限。我知道这可能很简单,但无法从以前回答的问题中找到解决方案。任何帮助将不胜感激。

    public void getAu() {
    final int max = 7;
    String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday" +
            "Saturday", "Sunday"};
    int[] totalAu = new int[max];

    for (int index = 0; index <= max; index++) {
        System.out.println("Please enter day of the week: ");
        days [index] = kb.next();
        System.out.println("Please enter Au: " );
        totalAu [index] = kb.nextInt();
        
     }//for

【问题讨论】:

  • 想想index 将作为你的 for 循环运行的值,并考虑一个 7 元素数组的有效索引。
  • 你的数组只有 6 个元素。查看"Friday" + "Saturday",它将它连接成一个字符串。将+ 替换为,。此外,在您的循环中,条件应为 index &lt; max

标签: java arrays for-loop


【解决方案1】:

包含 N 个元素的数组的索引介于 0 和 N-1 之间。只要index &lt; max,您就应该继续循环,而不是index &lt;= max

for (int index = 0; index < max; index++) {
    // Here --------------^

【讨论】:

  • 谢谢大家,连接和 = 是导致循环失败的问题。非常感谢您的帮助。
猜你喜欢
  • 2011-09-07
  • 2019-04-17
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 2017-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多