有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAutil。扫描程序从Java中的另一个类返回另一个方法中的用户输入

我在类Control中有以下方法:

public void addName() {
    language.specifyArtist();
    sc.nextLine();
}

Artist课上:

public String getName (){
    control.addName();
    return artistName;
}

artistName是一个数据字段。不知何故,第一个方法中给出的用户输入没有存储在第二个方法的返回值中。有人能告诉我如何设置两种方法吗?第一种是处理用户输入,第二种是用户输入的getter


共 (1) 个答案

  1. # 1 楼答案

    首先,必须返回^{}的结果,以便将其分配给变量artistName

    public String readName() {
        language.specifyArtist();
        return sc.nextLine();
    }
    

    此外,名称只能设置一次。这样我就不会将readName方法写入get方法。最简单的解决方案是在构造函数中调用它:

    public Artist(Control control) {
        artistName = control.readName();
    }
        
    public String getName() {
        return artistName;
    }
    

    最好是直接在构造函数中传递名称,从而将数据与输入分开:

    public Artist(String name) {
        artistName = name;
    }