2017-06-22 64 views
0

所以我们被分配去创建一个包含5个方法的程序。用户需要在终端上输入一个号码,该号码将成为所有方法将使用的公共变量。如何在处理参数时使用static int变量?

我知道

静态INT NUM =的Integer.parseInt(参数[0])

将用于扫描将使用哪个编号的行。我的问题来自我将如何使用上述线。它给了我一个错误,当我把它的主要方法之外,我不能将它用于非主要方法

回答

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. 
} 
+0

它的工作!非常感谢! – salmonade

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 
+0

@ Neeraj-Jain感谢您的编辑 –

0

为什么你不能写该行以外的方法主要是因为args超出的原因那里的范围。因此,您应该做的是声明nummain之外,然后指定它在main之内。

main

static int num; 

main

num = Integer.parseInt(args[0]); 
相关问题