JAVA 如何将全局变量放入函数参数中?

标签 java string function methods global-variables

我正在尝试练习类方法,因为我对 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/

相关文章:

java - 如何用图像按钮替换设置项

c# - 一种简化提供的代码的优雅方式

c++ - 将 std::string 传递给 C 风格的 API 是否安全?

javascript - 你能解释一下为什么我可以从 javascript 中另一个函数的变量创建一个函数表达式吗

java - 在类型 'contextMessage' 的对象上找不到字段或属性 'org.springframework.webflow.engine.impl.RequestControlContextImpl'

java - 如何在文本字段java中添加文本而不是替换它

java - 使用 Java 中的 GroovyClassLoader - 未 GC 的类

string - Gforth 在变量中存储字符串值

c++ - 如何结束文件输出它的数据?

python - 我可以利用 Pyside clicked.connect 连接一个有参数的函数吗