我正在尝试练习类方法,因为我对 JAVA 很陌生。在我的完整程序中,我使用其他全局变量,它们在我的其他方法中运行良好。我的问题是如何让 public String y 在 isNum() 方法的参数内工作,以便在任何方法内我都可以使用 isNum(y);现在字符串 y 的方式仅在 isNum 的范围内,但我希望 y 在 isNum 的参数内及其内部是全局的。尽可能简单的回答,非常感谢。
public static String y;
public static boolean isNum(String y){
for(int i = 0; i < y.length(); i++){
if(!(y.charAt(i) >= 48 && y.charAt(i) <= 57)){
return false;
}
}
return true;
}
我想在这个循环中使用 isNum 并将 x 的值传输到 y 中。 我知道 x 是一个整数,y 是一个字符串。我怎样才能做到这一点?
x = input.nextInt();
if(isNum(y){
while(x <=0 || x > 3){
System.out.println("Choose a correct gear number: ");
x = input.nextInt();
}
switch(x){
case 1:
System.out.println("You're in Gear 1");
break;
case 2:
System.out.println("Gear 2");
break;
case 3:
System.out.println("Gear3");
}
}
}
最佳答案
如果您希望 isNum
访问静态 y
变量,请使用类名 - ClassName.y
对其进行限定。
当您在方法中写入非限定变量名称 y
时,局部变量 y
会隐藏同名的 static
变量。
编辑:重新阅读您的问题后,我不确定您的 isNum
方法是否需要具有 y
参数。如果您希望该方法使用静态变量 y
,只需将其签名更改为 public static boolean isNum()
并保持方法主体不变。
关于JAVA 如何将全局变量放入函数参数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008678/