我正在尝试使用各种字符串处理文件。最终我对文件中包含的数字感兴趣,并且想要忽略其他所有内容。有些数字会在他们面前有“$”。我仍然想要包含这些数字,但我不确定最佳方法。
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(new File("asdf.txt"));
while (input.hasNext()) {
if (input.hasNextInt()) {
process(input.nextInt());
} else {
processString(input.next());
}
}
}
public static void processString(String phrase) {
if (phrase.startsWith("$")) {
phrase = phrase.substring(1);
try {
int number = Integer.parseInt(phrase);
process(number);
} catch (NumberFormatException e) {
}
}
}
public static void process(int number) {
// ... foo ...
}
这是我所拥有的简化版本,而我的完整版本也可以使用。我想避免在try
内使用catch
/ processString
语句,并想知道是否有更优雅的方法来实现这一点。