【发布时间】:2021-03-24 05:35:23
【问题描述】:
我正在用 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);
}
}
【问题讨论】:
-
正确的设计是让
name成为Character的字段。然后在 Main 类中创建Character的实例,并通过其对应的 setter 为name字段赋值,将用户的输入作为参数传递给 setter。 -
在 Character 类中有一个名称字段。然后将名称传递给 Character 构造函数。您可能希望将您的类重命名为 GameChar 或其他名称,因为如果您想使用 java 中的普通 Character 类,这可能会导致奇怪的错误。