簡體   English   中英

在主函數中引用變量-Java

[英]Referencing a variable in the main function - Java

我編寫了一個簡單的求和函數,在其中求和一個數組的值。 我需要在函數中引用數組的值(在主類中)。 我的代碼如下所示:

public class myClass {
public static void main(String[] args) throws Exception {
int[] myArray = {0,1,2,3,4};
//Some random operations
}
public static int sum(int low,int up)  {
    int sum;
        for (int k=low; k<=up; k++) {
                sum +=myArray[k]; }
        return sum;     
   }    
}

但是我收到錯誤“ myArray無法解析為類型”。 為什么會發生此錯誤? 我該如何解決? 提前致謝。

myArray當前在main方法本地。 您可以將數組傳遞給sum方法。 就像是,

public static int sum(int[] myArray, int low, int up)  {
    int sum = 0; // <-- start at `0`.
    for (int k=low; k<=up; k++) {
        sum +=myArray[k]; 
    }
    return sum;    
}

然后,您可以在調用sum時將myArray作為第一個參數傳遞。

嘗試像這樣的參數添加數組myArray

  public static int sum(int[] myArray, int low,int up)  {
       int sum=0;
    for (int k=low; k<=up; k++) {
            sum +=myArray[k]; }
    return sum;     
    }    

在main方法中,您可以這樣調用方法:

   int low=value1,up= value2;
   sum(myArray, value1,value2)  

之所以會出現此錯誤,是因為您在不同的范圍內聲明了myArray 您在main方法中聲明了myArray ,因此無法直接在sum方法中對其進行訪問。 您可以做的是在類myClass中將其聲明為靜態變量。 在靜態上下文中聲明變量將允許在整個類中對其進行訪問。 它看起來像這樣:

public class MyClass {

    public static int[] myArray = {5, 2, 6, 82};

    public static void main(String[] args) {
        System.out.println(sum(0, 3));
    }

    public static int sum(int low, int high) {
        int sum = 0;
        for (int i = low; i <= high; i++) {
            sum += myArray[i];
        }
        return sum;
    }
}

暫無
暫無

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

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