所以我們被分配去創建一個包含5個方法的程序。用戶需要在終端上輸入一個號碼,該號碼將成爲所有方法將使用的公共變量。如何在處理參數時使用static int變量?
我知道
靜態INT NUM =的Integer.parseInt(參數[0])
將用於掃描將使用哪個編號的行。我的問題來自我將如何使用上述線。它給了我一個錯誤,當我把它的主要方法之外,我不能將它用於非主要方法
所以我們被分配去創建一個包含5個方法的程序。用戶需要在終端上輸入一個號碼,該號碼將成爲所有方法將使用的公共變量。如何在處理參數時使用static int變量?
我知道
靜態INT NUM =的Integer.parseInt(參數[0])
將用於掃描將使用哪個編號的行。我的問題來自我將如何使用上述線。它給了我一個錯誤,當我把它的主要方法之外,我不能將它用於非主要方法
靜態INT NUM =的Integer.parseInt(參數[0])
你將使用此行獲得編譯時錯誤,因爲您不能有本地靜態變量。
你應該這樣做,而不是:
static int num;
public static void main([]args){
num = Integer.parseInt(args[0]);
// Then use num where you want.
}
你的類應該是這樣的
public static void main(String [] args) {
Scanner scan = new Scanner(System.in);
System.out.println("enter number");
// this variable does not need to be static, local is better
int myNum = scan.nextInt();
Main main = new Main();
main.method1 (myNum);
main.method2 (myNum);
main.method3 (myNum);
main.method4 (myNum);
main.method5 (myNum);
}
private void method1(int myNum) {
}
// repeat for each new method
@ Neeraj-Jain感謝您的編輯 –
爲什麼你不能寫該行以外的方法主要是因爲args
超出的原因那裏的範圍。因此,您應該做的是聲明num
main
之外,然後指定它在main
之內。
外main
:
static int num;
內main
:
num = Integer.parseInt(args[0]);
它的工作!非常感謝! – salmonade