【发布时间】:2012-02-19 04:20:28
【问题描述】:
我正在寻求一些帮助,因为我对如何完成此任务束手无策。
任务是读入一个包含州名、该州州长和他获得的补偿的文件。
文件示例:
California Tim John $50,000 $78,890 $30,000
North Dakota John Jones $30,000 $40,000 $56,000
Washington Susan K. Bones $30,000 $40,000 $56,000
如你所见,一个名字可以包含三个以上的单词(包括中间的首字母)
我应该得到的输出是总统的名字,然后是总薪酬。
输出示例:
Susan K. Bones 126,000 美元
我已经编写了打印出总补偿的代码。但我坚持读名字。如何忽略最多包含两个单词的州名而只取州长的名字?
这是我的总补偿代码。
另请注意:我必须在此使用扫描仪。
Scanner in = new Scanner(file);
in.nextLine();
do {
double totalCompensation = 0.0;
String readLine = in.nextLine();
readLine = readLine.replaceAll(",", "").replace("$", " ");
String presidentName = "";
Scanner readNumber = new Scanner(readLine);
while(readNumber.hasNext()) {
if (readNumber.hasNextDouble())
totalCompensation += readNumber.nextDouble();
else {
readNumber.next();
}
}
另一个注意事项:别担心,我确实有一段时间(in.hasNextLine()) 来关闭 do 循环,稍后在我的代码中。我只是不想粘贴整个内容。
欢迎任何提示!谢谢!
【问题讨论】:
标签: java file java.util.scanner filereader