gpt4 book ai didi

java - 如何创建一个静态解析方法来获取带有制表符分隔部分的字符串?

转载 作者:行者123 更新时间:2023-12-02 07:58:25 25 4
gpt4 key购买 nike

我该如何开始。我知道如何制作这个方法,但我不知道到底要在里面放什么。我正在制作一个歌曲类,其中包含歌曲的年份、排名、艺术家和标题。我从另一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com