假设我有这段代码
public static long number;
public static void main(String args[]) {
String str1 = args[0];
System.out.println("str1 is = " + str1);
long number = Long.parseLong(str1);
System.out.println("number value is = " + number);
}
public static void test1(){
System.out.println("number value inside test1 is = " + number);
}
假设我将12345作为参数传递,所以我的o / p将是
str1 is 12345
number value is 12345
number value inside test1 is 0
我想要的是能够在test1方法中访问arg [0](用户参数)或数字(12345)的原始值。请帮我做。谢谢!
答案 0 :(得分:3)
将您的班级number
设置为已解析的str1
值。目前,您设置的局部字段没有超出main方法的范围。
使用:
number = Long.parseLong(str1);
而不是:
long number = Long.parseLong(str1);
答案 1 :(得分:0)
为此您需要使用全局变量,或者需要将值传递给test1
函数。
您尝试使用全局变量,但初始化时不需要在其前面添加类型,因为它变为本地变量。所以只需使用:
number = Long.parseLong(str1);
以下是将值传递给test1
时的代码:
public static void main(String args[]) {
String str1 = args[0];
System.out.println("str1 is = "+str1);
long number = Long.parseLong(str1);
System.out.println("number value is = "+number);
}
public static void test1(long number){
System.out.println("number value inside test1 is = "+number);
}
然后你只需要使用
test1(number);
在main()
方法中的某个地方。
答案 2 :(得分:0)
long number = Long.parseLong(str1);
执行上述操作声明另一个名为 number
的变量。
执行此操作以访问Class variable
(即静态字段)
number = Long.parseLong(str1);