Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Foreach跳过第一个元素_Java - Fatal编程技术网

Java Foreach跳过第一个元素

Java Foreach跳过第一个元素,java,Java,我有一个数组,每个循环跳过它的第一个元素 整数:nums{ System.out.Printlnums[编号]; } 输出从nums开始[1]。怎么了?请尝试以下代码: for (int currentNumber : nums) { System.out.println(currentNumber); } 我尝试重命名迭代中使用的变量,以便更容易理解如何打印/操作它 因此,当您在第一次迭代中使用nums[number]时,您正在打印nums[1]您正在For子句中再

我有一个数组,每个循环跳过它的第一个元素

整数:nums{ System.out.Printlnums[编号]; }
输出从nums开始[1]。怎么了?

请尝试以下代码:

 for (int currentNumber : nums) {
        System.out.println(currentNumber);
    }
我尝试重命名迭代中使用的变量,以便更容易理解如何打印/操作它


因此,当您在第一次迭代中使用nums[number]时,您正在打印nums[1]

您正在For子句中再次访问数组,而For已经在这样做了

考虑到这一点,您的代码应该如下所示:

整数:nums{ System.out.PrintLNumber; } 您所做的是在读取数组的值所指示的位置访问该数组


希望这有帮助

您正在使用增强的for循环:

for (int number : nums) {
    System.out.println(nums[number]);
}
这相当于:

for (int i = 0; i < nums.length; i++) {
    int number = nums[i];
    System.out.println(nums[number]);
}

这是否完全解决了您的问题很难说,这取决于您实际要做什么。

您可以直接从数字变量中获得值。您将无法在数字变量中获取索引。这是精确解

for (int number : nums) {
    System.out.println(number);
}

您的for循环已经在nums上迭代。换句话说,number变量是nums数组中特定索引处的元素,该索引隐藏在幕后。然后使用nums[number],这相当于使用nums[nums[index]],因为1可能是nums中的第一个元素。请验证..也许您需要System.out.PrintLNumber;因为number已经是数组的一个元素。你不必再查了。nums是什么样子的。请在问题中更新。正如前面所指出的,您已经在NUM上迭代,当前元素由数字表示,这可能是您想要的。不要像nums[number]代表int number那样访问它:nums{System.out.printlnnumber;},您想要实现什么?
for (int number : nums) {
    System.out.println(number);
}