处理参数时如何使用静态 int 变量?



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

我知道那件事

static int num = Integer.parseInt(args[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.
}

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

外部main

static int num;

内部main

num = Integer.parseInt(args[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

最新更新