我该如何开始。我知道如何制作这个方法,但我不知道到底要在里面放什么。我正在制作一个歌曲类,其中包含歌曲的年份、排名、艺术家和标题。我从另一个 txt 文件中获取此信息。 Song 应该有一个静态解析方法,该方法接受带有制表符分隔部分的字符串并返回 Song 对象。 这是我开始使用的代码,但我不知道这是否非常合法。我也不知道它是否真的可以正常工作。
public class Billboard {
private int year;
private int rank;
private String artist;
private String title;
public void setYear(int Y){
this.year = Y;
}
public void setRank(int R){
this.rank = R;
}
public void setArtist(String A){
this.artist = A;
}
public void setTitle(String T){
this.title = T;
}
public int getYear(){
return this.year;
}
public int getRank(){
return this.rank;
}
public String getArtist(){
return this.artist;
}
public String getTitle(){
return this.title;
}
public void Song (String Line) {
String[] token = line.split("\t");
title = token[0];
artist = token[1];
year = Integer.parseInt(token[2]);
}
}
最佳答案
您不能将此方法设为静态,因为它访问对象变量:标题、艺术家、年份
所以你需要使用构造函数,或者将一个对象传递给方法:
public Billboard (String Line) {
String[] token = line.split("\t");
this.title = token[0];
this.artist = token[1];
this.year = Integer.parseInt(token[2]);
}
或者
public static Billboard parseString(String Line) {
return parseString(line, new Billboard());
}
public static Billboard parseString(String Line, Billboard billboard) {
String[] token = line.split("\t");
billboard.setTitle(token[0]);
billboard.setArtist(token[1]);
billboard.setYear(Integer.parseInt(token[2]));
return billboard;
}
关于java - 如何创建一个静态解析方法来获取带有制表符分隔部分的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9288591/