创建基于文本的游戏。我有以下每种方法:种族,职业,名称。 例如:
public static void main(String[] args) {
// TODO code application logic here
intro();
name();
System.out.println("Welcome " + name);
}
public static String name(){
System.out.println("Enter Name:");
String name = sc.next();
return name;
}
然而,当我在main中使用name变量时出现错误。为什么呢?
答案 0 :(得分:4)
您需要将name
的返回值分配给局部变量:
public static void main(String[] args) {
// TODO code application logic here
intro();
String name = name();
System.out.println("Welcome " + name);
}
public static String name(){
System.out.println("Enter Name:");
String name = sc.next();
return name;
}
答案 1 :(得分:1)
您的name()
方法是静态的,但这并不一定意味着可以在没有name
或类似内容的情况下访问该方法中的getter
变量。它不会识别该变量,因为它只在该方法中定义。
您可以尝试Sysout("welcome" + name());
之类的内容,因为您的方法会返回该值。