0
大家晚上好。我正在通過這種方式工作,並且在另一個班級中使用班級時遇到了阻礙。 Eclipse會告訴我這個錯誤是因爲試圖調用對一個非靜態方法的靜態引用。 我想要做的就是在一個程序中多次使用「反向」方法。我知道問題出現在「反向」類中,並且正在尋找正確的方式來格式化該類,以接受來自主方法中代碼的輸入。調用數組運算符
public static void main (String [] args){
//creating a test array
int [] myArray = {0, 1, 2, 3, 4, 5, 6,7 ,8 ,9};
int [] myArrRev = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
reverse (myArray);
if (Arrays.equals(myArray, myArrRev))
System.out.println("reverse worked for 10 elements.");
int [] myArray2 = {0, 1, 2, 3, 4, 5, 6,7 ,8};
int [] myArrRev2 = { 8, 7, 6, 5, 4, 3, 2, 1, 0};
reverse (myArray2);
if (Arrays.equals(myArray2, myArrRev2))
System.out.println("reverse worked for 9 elements.");
int [] myArray3 = {0};
int [] myArrRev3 = {0};
reverse (myArray3);
if (Arrays.equals(myArray3, myArrRev3))
System.out.println("reverse worked for 1 element.");
int [] myArray4 = {};
int [] myArrRev4 = {};
reverse (myArray4);
if (Arrays.equals(myArray4, myArrRev4))
System.out.println("reverse worked for 0 elements.");
}
void reverse(int arr[]){
for(int i = 0; i < arr.length/2; i++)
{
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
}
}
是有辦法做到這一點不使其靜態的?我試圖從主要方法中刪除「靜態」,但顯然不會工作。 –
@JWelch使它成爲'static'有什麼問題?但是,您可以創建您的類的實例,然後使用該實例調用非靜態方法。但爲什麼?那有什麼意義呢?該方法不使用該類的任何*字段,爲什麼? – Andreas