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

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

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

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

  1. System.out.println("You chose to play, welcome to the game!");
  2. System.out.println("You can choose your name now!");
  3. System.out.print("My name is --> ");
  4. input.nextLine();
  5. String name = input.nextLine();
  6. System.out.println("Are you sure your name is " + name + "?");
  7. System.out.println("1. Yes, that is my name. Time to move on...");
  8. System.out.println("2. No, that isn't my name...");
  9. int u = 2;
  10. u = input.nextInt();
  11. while (u == 2){
  12. System.out.println("Then let's change your name!");
  13. System.out.println("What is your new name?");
  14. input.nextLine();
  15. name = input.nextLine();
  16. System.out.println("Are you sure your name is " + name + "?");
  17. System.out.println("1. Yes, that is my name. Time to move on...");
  18. System.out.println("2. No, that isn't my name...");
  19. u = input.nextInt();
  20. }

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

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

ha5z0ras1#

向方法添加参数

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

q8l4jmvw2#

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

  1. static String name;
  2. public static void main(String[]args ) {
  3. //.. other code
  4. name = setYourName();
  5. //..
  6. Character.full_stats();
  7. }
  8. class Character{
  9. public static void full_stats(){
  10. System.out.println("This is your name" + Main.name);
  11. }
  12. }

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

  1. class Character{
  2. public static void full_stats(String name){
  3. System.out.println("This is your name" + name);
  4. }
  5. }
  6. public static void main(String[]args ) {
  7. //.. other code
  8. String name = setYourName();
  9. //..
  10. Character.full_stats(name);
  11. }

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

展开查看全部

相关问题