Return 用户在 Java 中的另一个 class 的另一个方法中输入
Return the user input in another method from another class in Java
我在classControl
中有如下方法:
public void addName() {
language.specifyArtist();
sc.nextLine();
}
并在 class Artist
:
public String getName (){
control.addName();
return artistName;
}
artistName
是一个数据字段。不知何故,第一种方法中给出的用户输入未存储在第二种方法的 return 值中。有人可以解释一下我必须如何设置这两种方法,第一种方法是处理用户输入,第二种方法是 getter 用于用户输入吗?
首先你必须 return sc.nextLine
的结果,以便它可以分配给变量 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;
}
我在classControl
中有如下方法:
public void addName() {
language.specifyArtist();
sc.nextLine();
}
并在 class Artist
:
public String getName (){
control.addName();
return artistName;
}
artistName
是一个数据字段。不知何故,第一种方法中给出的用户输入未存储在第二种方法的 return 值中。有人可以解释一下我必须如何设置这两种方法,第一种方法是处理用户输入,第二种方法是 getter 用于用户输入吗?
首先你必须 return sc.nextLine
的结果,以便它可以分配给变量 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;
}