由于我对JAVA非常陌生,因此我尝试练习类方法。在我的完整程序中,我正在使用其他全局变量,并且在我的其他方法中它们可以正常工作。我的问题是如何让公共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()
,并保持方法主体不变。