在agecheck方法中调用名称错误

时间:2014-06-19 23:24:29

标签: java methods

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()方法中回忆起它。我不知道为什么它不会,因为我用它作为全局变量。有人可以向我解释一下。先感谢您。

1 个答案:

答案 0 :(得分:0)

<强>问题:

您在namechecker()中输入了名称并将其分配给

String name = input.nextLine();

并且您希望它在名为name的静态字段中设置

System.out.println("What is your age " + name); 

所以它会是null

<强>溶液

dirty:将名称分配给全局变量以及 更好:创建一个名为Person的类,并使其Object