处理args时如何使用static int变量?

时间:2017-06-22 05:31:53

标签: java arrays static int args

因此我们被指派创建一个包含5种方法的程序。用户需要在终端上输入一个数字,该数字将是所有方法将使用的公共变量。

我知道

  

static int num = Integer.parseInt(args [0])

将是用于扫描将使用的数字的行。我的问题来自于我将如何使用该行。当我将它放在main方法之外时,它给我一个错误,我不能将它用于非主要方法

3 个答案:

答案 0 :(得分:0)

  

static int num = Integer.parseInt(args [0])

使用此行会出现编译时错误,因为您无法使用本地静态变量

你应该这样做:

static int num; 
public static void main([]args){
    num  = Integer.parseInt(args[0]);

   // Then use num where you want.
}

答案 1 :(得分:0)

你的班级应该是

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

答案 2 :(得分:0)

您不能在主方法之外写入该行的原因是因为args超出了范围。因此,您应该做的是在num之外声明 main,然后main内分配

main

static int num;

内部main

num = Integer.parseInt(args[0]);