import java.util.*;
public class newclass {
public static String name;
static Scanner input = new Scanner(System.in);
public static void main(String[] args){
newclass picname = new newclass();
picname.namechecker();
picname.agechecker();
}
public void namechecker(){
System.out.println("Please enter your name new user");
String name = input.nextLine();
System.out.println("Hello " + name + "!");
}
public void agechecker(){
System.out.println("What is your age " + name);
int age = input.nextInt();
System.out.println("You're " + age + " years old");
}
}
出于某种原因,每当我输入我的名字时。 Java 不会在agechecker() 方法中调用它。我不知道为什么它不会,因为我将它用作全局变量。有人可以向我解释一下吗?先感谢您。
最佳答案
问题:
您在namechecker()
中输入名称并将其分配给
String name = input.nextLine();
并且您希望它也被设置在名为 name 的静态字段中
System.out.println("What is your age " + name);
所以它会是null
解决方案:
脏:也为全局变量分配名称
更好:创建一个名为 Person
的类并拥有其 Object
关于java - Agecheck 方法中调用名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24317748/