我對這段代碼有問題。在函數中使用時初始化數組?
函數setListSize用於通過用戶輸入設置數組的大小,只要它在[1-50]的範圍內即可。
函數中的代碼在不在函數中時工作,但當我將代碼放入函數中時,我總是被要求初始化listA。
試圖做
int [] listA = null;
,但後來我得到空指針異常錯誤。
int [] listA;
setListSize(listA);
public static void setListSize (int [] list) {
Scanner reader = new Scanner (System.in);
while (true) {
System.out.print("Enter array size for between [1-50]: ");
int listSize = Integer.parseInt(reader.nextLine());
if (listSize > 50 || listSize < 1) {
System.out.println("Array size must be between [1-50]");
} else {
list = new int [listSize];
break;
}
}
}
請問我能做些什麼?
感謝您閱讀
閱讀關於作用域,變量名稱shadowing和將參數傳遞給方法。 –
另外,數組長度不能改變。所以你所能做的就是創建一個新的,不同的數組(這是你在代碼中做的)。使用方法中的返回值來使用新數組。 – SJuan76