Java 从另一个类引用用户输入字符串?

Java 从另一个类引用用户输入字符串?,java,Java,我正在尝试编写一个程序,要求用户使用scanner类来命名某些内容,以进行输入。然后在一个完全不同的类中,引用该输入 例如: class TeamInfo { Scanner nScan = new Scanner(System.in); public String GetName(){ String GetName = nScan.nextLine(); } class TeamInfo { Scanner nScan = new Scanner(System.i

我正在尝试编写一个程序,要求用户使用scanner类来命名某些内容,以进行输入。然后在一个完全不同的类中,引用该输入

例如:

class TeamInfo {
    Scanner nScan = new Scanner(System.in);

public String GetName(){
    String GetName = nScan.nextLine();

}
class TeamInfo {
    Scanner nScan = new Scanner(System.in);
    String name = null;

public String GetName(){
    if (name == null) {
        name = nScan.nextLine();
    }

    return name;

}
我遇到的问题是,当我第一次在TeamInfo类中引用GetName方法时,它是有效的——在正确的位置,它会提示输入团队名称

但是,每次之后都会提示输入团队名称。我似乎在网上或Java初学者指南中找不到如何使该输入保持常量,以便我可以引用该输入。我也不完全确定我要找的是什么,所以这没有帮助


换句话说,我想要的是提示用户一次,然后记住答案并反复使用。

您应该使用两种方法:
getName()
promptName()
(或者您最喜欢的任何名称)

一种方法用于从用户处检索名称,另一种方法用于检索从用户处获取的值:

class TeamInfo {
    private Scanner nScan = new Scanner(System.in);
    private String name;

    public void promptName() {
        name = nScan.nextLine();
    }

    public String getName() {
        return name;
    }
}
如果要从用户处获取名称,请调用:

TeamInfo info = new TeamInfo();
info.promptName();
当您想要检索名称以供使用时:

String teamName = info.getName();

将输入结果保存到字段中,然后根据请求返回:

class TeamInfo {

    private String name;
    Scanner nScan = new Scanner(System.in);

    public void promptForName() {
        System.out.print("Name: ");
        this.name = nScan.nextLine();
    }

    public String getName() {
        return this.name;
    }
}

您需要将从
扫描仪中读取的名称存储在类成员中,然后在调用
GetName()
时返回该类成员。否则,您将丢失已读取的名称,并且必须再次读取(从而再次提示用户输入)

例如:

class TeamInfo {
    Scanner nScan = new Scanner(System.in);

public String GetName(){
    String GetName = nScan.nextLine();

}
class TeamInfo {
    Scanner nScan = new Scanner(System.in);
    String name = null;

public String GetName(){
    if (name == null) {
        name = nScan.nextLine();
    }

    return name;

}

另一方面,你应该继续读下去。方法名称不应以大写字母开头。

我只看到上面一个不完整的类。是的,你说得对——我指的是主方法,不是类。不过我已经弄明白了。