所以我们被分配去创建一个包含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