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