java—我需要使用一个从主类到我创建的另一个类的变量

cidc1ykv  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(307)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

27天前关门了。
改进这个问题
我正在用java创建一个基于文本的游戏。在这个游戏中,我创建了一个名为“name”的变量,这个变量有一个来自用户的字符串输入。

System.out.println("You chose to play, welcome to the game!");
      System.out.println("You can choose your name now!");
      System.out.print("My name is --> ");
      input.nextLine(); 
      String name = input.nextLine();
      System.out.println("Are you sure your name is " + name + "?");
      System.out.println("1. Yes, that is my name. Time to move on...");
      System.out.println("2. No, that isn't my name...");
      int u = 2;
      u = input.nextInt();
        while (u == 2){
          System.out.println("Then let's change your name!");
          System.out.println("What is your new name?");
          input.nextLine(); 
          name = input.nextLine();
          System.out.println("Are you sure your name is " + name + "?");
          System.out.println("1. Yes, that is my name. Time to move on...");
          System.out.println("2. No, that isn't my name...");
          u = input.nextInt();
        }

所以我想在character类中使用变量“name”,看起来像这样。

class Character{
  public static void full_stats(){
    System.out.println("This is your name" + name);
  }
}
ha5z0ras

ha5z0ras1#

向方法添加参数

class Character{
  public static void full_stats(String name){
    System.out.println("This is your name" + name);
  }
}
q8l4jmvw

q8l4jmvw2#

以你现在的方式,你不能。
有两种方法可以让我头脑发热:
将名称声明为类级变量:

static String name;
public static void main(String[]args ) {
 //.. other code
 name = setYourName();
 //..
 Character.full_stats();
}

class Character{
  public static void full_stats(){
    System.out.println("This is your name" + Main.name);
  }
}

更好的方法是将名称作为参数传递:

class Character{
  public static void full_stats(String name){
    System.out.println("This is your name" + name);
  }
}

public static void main(String[]args ) {
 //.. other code
 String name = setYourName();
 //..
 Character.full_stats(name);
}

不过,我建议在主方法/类中保留尽可能少的代码。它只是一个入口点,而不是整个应用程序。
另外:遵循标准的命名约定将使您的代码更易于维护/让没有编写它的人遵循。

相关问题