簡體   English   中英

調用方法以單行打印數組

[英]Calling a method to print an array in single line

我一直試圖找出問題所在,但我似乎無法弄清楚。 基本上我的代碼會讓用戶輸入 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。

您在一行中多次打印數組。

在第一次迭代中打印36,0,0 ,在第二次迭代中打印36,68,0並且僅在最后一次迭代中打印完全初始化的數組 - 36,68,75

移動printArray(array); 到循環結束。 您可能希望在printArray的末尾添加一個println

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM