在ASU的CSE 205中进行Java分配,我很难理解解析。我已经浏览了我们的在线教科书,而解析很少出现,并且从未得到完整的解释。我已经浏览了Java API文档几次,但我从不理解它在说什么,所以我希望有人不会太沮丧,无法解释如何做。
类是:
bankparser
BankParser类是一个实用程序类,将用于从字符串中创建银行对象。不能实例化银行级班级。它具有以下方法:
公共静态银行银行帕克尔(String LineToparse)
BankParser方法的参数将是以下格式的字符串:
银行/银行/城市,州
这个字符串的真实示例是:
亚利桑那银行/10001/凤凰,亚利桑那州
BankParser方法将解析此字符串,拔出信息,创建新的银行对象,设置对象的属性并返回。
到目前为止,这是我的设置:
public class BankParser {
public static Bank bankParser(String lineToParse) {
}
}
另外,在我的银行课程中,我有这种tostring方法:
public String toString() {
String printInfo = ("nBank name:t" + bankName + "nBank ID:t" + bankID + "nBank address:t" + bankAddress + "n");
return printInfo;
它给了我Eclipse中的2个标记:此覆盖java.lang.object.tostring,而返回类型丢失了。这是什么意思呢??返回类型是字符串,我看不出这是什么问题,但是我无知的替代
编辑;这就是我为bankparser提出的
public static Bank bankParser(String lineToParse) {
String[] returnValue = lineToParse.split("/");
Bank temp = new Bank();
temp.setbankName(returnValue[0]);
temp.setbankID(returnValue[1]);
temp.setbankAddress = (returnValue[2]); //this one won't work, see below
return temp;
}
}
这些是银行中的方法,地址适用于银行帕克瑟
public void setBankName(String bank1) {
bankName = bank1;
}
public void setBankID(String bankID1) {
bankID = bankID1;
}
public void setBankAddress(String city, String state) {
bankAddress.setCity(city);
bankAddress.setState(state);
}
在地址:java:
public void setCity(String city1) {
city = city1;
}
public void setState(String state1) {
state = state1;
}
我将使用诸如Apache Common CSV之类的库进行阅读和写作。
Reader in = new StringReader("bankName/bankID/city,state");
Iterable<CSVRecord> parser = CSVFormat.newBuilder()
.withDelimiter('/')
.parse(in);
for (CSVRecord csvRecord : parse) {
...
}
您的bankparser方法是空的。它需要返回银行对象,而Java将抱怨,直到您执行此操作。您可以始终将其返回null现在,至少使其成为一个可编译的存根,您可以弄清楚这一点:
public static Bank bankParser(String lineToParse) {
Bank returnValue = null;
// TODO: create a Bank object, assign to returnValue
return returnValue;
}
至于您的替补位,您是否收到错误消息?还是警告?您发布的代码似乎犹太洁食,因此应该编译。请显示实际的完整消息。
至于您的实际解析,我将使用String#split("/")
将LineToparse拆分为代币数组,然后使用每个令牌,为银行构造函数创建参数并创建银行对象。
即,代码以显示概念:
String text = "Bank Arizona/10001/Phoenix,AZ";
String[] tokens = text.split("/");
System.out.println(java.util.Arrays.toString(tokens));