簡體   English   中英

初學者Java-遍歷數組

[英]Beginner Java - looping through an array

因此,該類應該在main方法(也稱為22)下定義的數組中打印出最大的數字,但是當我運行它時,什么也沒有發生。 我敢肯定這是一個非常愚蠢的問題,但是今天是我使用Java的第一天,我已經花了很多令人費解的時間來解決它。 謝謝!

  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        max(numbers);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 2)){
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }

您的max方法確實返回了最大數,但是您沒有對該數字做任何事情。

也許您希望打印出最大值?

System.out.println(max(numbers));

在您的main方法中,從max方法中獲得一個變量的返回值,然后打印出來

 public static void main (String [] args) {
    int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
   int val = max(numbers);
   System.out.println(val);
    }

答對了...

您必須按照以下步驟打印號碼

System.out.println(max(numbers));

另外,您可以將其分配給一個int變量,然后對其進行處理:

int maxNumber = max(numbers);
  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        int maxNum = max(numbers); //change this
System.out.println(maxNum);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 1)){ //change this
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }

如果您要遍歷整個數組,則迭代本身可以正常工作。 您缺少數組的最后一個索引。 因此,它將不再將Array [on_last_index]與currentMax值進行比較。

要解決這個簡單的問題,您所需要做的就是更改while循環中的條件。

while(counter <= length-1) { ... }

因此,讓我嘗試向您解釋。 如果在其中創建跟隨元素數組:

numbers = new int[]{9, 2, 15, 2, 22, 10, 6};

那么數組中的每個值都有其自己的索引。 例如,如果您要獲取數組的第一個元素,那么您要做的就是獲取索引為0的數組的元素。0是因為它是您要選擇的第一個元素=>索引0是第一個數組中第一個元素的索引。 現在在您的示例中,您得到了一個大小為7 =>的數組,您在該數組中有7個元素。 但是還記得如何獲取數組的元素嗎? 對! 您可以通過它們的元素獲取元素。 第一個元素的索引為0,第二個元素的索引為...,。,最后一個6。6,因為我們從0開始,所以如果要迭代,則將一個數組拋出,然后總是從0到array.length-1。

暫無
暫無

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

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