我通常在Python中進行編碼,這個錯誤對我來說毫無意義。我無法理解我在這裏可能做錯了什麼。我用相同的錯誤信息檢查出類似的線程無濟於事。令牌「makeMiddle」上的語法錯誤,@在此令牌之前預期
我認爲這個錯誤與在Java中調用相同的類和方法有關。嘗試切換方法被調用,但沒有做到這一點。有任何想法嗎?
public class test2 {
public int[] makeMiddle(int[] nums){
int[] l1 = {nums[(nums.length/2)-1], nums[(nums.length/2)]};
return l1;
}
public static void main(String[] args){
makeMiddle({1,2,3,4});
makeMiddle({5,6,2,1,7,6,3,4,0,1});
}
}
所以,如果我理解正確; 1)如果main是靜態的,那麼它只能調用靜態方法,並且2)我需要在Java中輸入轉換參數甚至參數 –
@ chopperdrawlion4 1)main可以調用非靜態方法,只要您提供對象以調用它們即可,比如在@ dafi的回答中。 2)如果你把makeMiddle的參數類型設置爲'int ...',你可以消除'new int [] {'...'}',就像在我的答案中一樣。 – Boann
主要始終是靜態的。如果你想調用一個對象的非靜態方法,你必須在main中實例化這個對象,然後用它來調用它的方法。 – casperw