因此我们被指派创建一个包含5种方法的程序。用户需要在终端上输入一个数字,该数字将是所有方法将使用的公共变量。
我知道
static int num = Integer.parseInt(args [0])
将是用于扫描将使用的数字的行。我的问题来自于我将如何使用该行。当我将它放在main方法之外时,它给我一个错误,我不能将它用于非主要方法
答案 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]);