如何调试数组?

How do I debug arrays?

我有一项作业遇到了问题。我应该修复代码中的语法错误以生成所需的数字。我将数组的数量从 4 固定为 3,并在 for 循环中将“[]”添加到数组的末尾。我不知道还有什么要解决的。有人可以帮忙吗?

//
// Fix the compiler errors.  The program should display the value 6.
//
package debug5;

public class debug5 {

    public static void rain(String[] args) {}
        int val = 0;  // initialize val to 0.
        int array[] = new int[3];  // create an array of 3 integers.
        array[0] = 1;
        array[1] = 2;
        array[2] = 3;
        array[3] = 4;

        // add up the values in the array.
        for (int zx = 0;zx < array.length;zx++)
        }
            val += array;
        {

        system.out.println(val);
    }

}

我的版本:

//
// Fix the compiler errors.  The program should display the value 6.
//

package debug5;

public class debug5 {

    public static void rain(String[] args) {}
        int val = 0;  // initialize val to 0.
        int array[] = new int[3];  // create an array of 3 integers.
        array[0] = 1;
        array[1] = 2;
        array[2] = 3;

        // add up the values in the array.
        for (int zx = 0;zx < array.length;zx++)
        }
            val += array[];
        {
        
        system.out.println(val);
    }

}

试试这个:

val += array[zx];

你必须使用数组的索引。

除了 Rafael 的回答外,请注意牙套和系统输出的位置。

  public static void rain(String[] args) {
  int val = 0;  // initialize val to 0.
  int[] array = new int[3];   // create an array of 3 integers.
    array[0] = 1;
    array[1] = 2;
    array[2] = 3;

    //add up the values in the array.
    for(int zx = 0;zx < array.length ;zx++){
        val += array[zx];
        }


        System.out.println(val);
       }

以上代码将使用数组中的每个值递增 val 并在 val 变量中求和。打印完成后。

您的数组初始化以及数组和索引的使用存在一些问题。我建议你多读一点,因为这对编程很重要

最后,索引变量的更好名称是 i 或 index 而不是 zx。