[英]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.