调用方法以单行打印数组

时间:2016-03-15 10:52:56

标签: java arrays methods printing output

我一直在努力找出问题所在,但我似乎无法弄明白。基本上我的代码将让用户输入N大小的数组。然后,阵列将填充1-100生成的随机数。我有一个printArray方法,它在一行中打印一个数组的元素,我已经在一个固定数组上测试它可以工作,但是当我从生成的数组中调用它时,它给了我很多额外的0。 这是代码:

Scanner scan = new Scanner(System.in);
        System.out.println("Size of array:"); //prompts the user enter size of array
        int size = scan.nextInt();
        int array[] = new int[size];

for (int i = 0; i < array.length; i++) {
            array[i] = random.nextInt(100) + 1;
            printArray(array);

这是显示方法:

public static void printArray(int[] array) {
    for (int i = 0; i < array.length; i++) {

        if (i == 0) {
            System.out.print(array[i]);
        }

        else if (i == array.length) {
            System.out.print(array[i]);
        }

        else
            System.out.print("," + array[i]);

    }
}

当我运行代码时,它将生成如下输出:(例如3)

要排序的数组大小? 3 36,0,036,68,036,68,75,它应该只有36,68,75。

1 个答案:

答案 0 :(得分:1)

您将在一行中多次打印数组。

在第一次迭代中,您打印36,0,0,在第二次迭代中,您打印36,68,0并且仅在最后一次迭代中打印完全初始化的数组 - 36,68,75

printArray(array);移动到循环的末尾。您可能希望在println的末尾添加printArray

for (int i = 0; i < array.length; i++) {
    array[i] = random.nextInt(100) + 1;
}
printArray(array);
相关问题