Java编译器不会进入我的for循环?

标签 java loops for-loop

我正在尝试编写一个应用程序,它将用随机数填充数组。一切似乎都工作正常,直到我尝试在 populateArray 方法中输入 for 循环。

import java.util.Random;

public class PerformanceTester {

//takes an empty array, but the size must be allocated BEFORE passing 
//to this function. Function takes a pre-allocated array and input size.
public static int[] populateArray(int[] inputArray, int n) {

    //Create the number generator
    Random generator = new Random();

    int length = inputArray.length;
    System.out.println("Inputted array is length: " + length);

    for (int i = 0; i == length; i++) {
        // for debugging purposes: System.out.println("For loop entered.");
        int random = generator.nextInt((2 * n) / 3);
        // for debugging purposes: System.out.println("Adding " + random + " to the array at index " + i);
        inputArray[i] = random;

    }
    return inputArray;
    }

public static void main(String[] args) {

    int[] input;
    input = new int[10];
    int[] outputArray = populateArray(input, 10);
    System.out.print(outputArray[0]);

}
}

如我的输出所示,编译器清楚地输入了该方法(在第 29 行调用时),但似乎在到达 for 循环时停止了所有执行。我 100% 确定我的循环具有正确的初始化和终止运算符,因为长度等于 10。

老实说,我很困惑,但像大多数情况一样,我确信这是一个非常简单的答案。我的输出如下:

Inputted array is length: 10
0 //The array is not populated with numbers, so all indexes of the array return zero.

非常感谢任何和所有帮助。

最佳答案

你的意思是你的循环测试是这样的吗?

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

否则,i == length 永远不会为真(除非length == 0)并且永远不会进入循环。

您还可以使用:

for (int i = 0; i != length; i++) {

关于Java编译器不会进入我的for循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237008/

相关文章:

r - 用 R 创建大圆图

java - 使用 Selenium Webdriver 和 Java 检查特定 H3 文本中的输入复选框

C 编程 While 循环赋值

javascript - 如何从函数返回一个值,使用该值来制作数学公式并将解决方案(键/值)推送到对象数组?

javascript - 用 `let` 定义的变量如何在 `for` 循环中起作用

c# - 在 ASP 表中查找所有单选按钮

Java - 计算面积,如果面积> 1000且形状=绿色,则打印形状列表

Raspberry pi 上的 JavaFx 集成

java - 服务器中的单例范围

javascript - 为什么这段代码会执行无限循环?