有一个问题,就是说尝试从包含整数和文本的文件中读取整数,并且它们通过空格彼此分开,比如文件xxx.txt:我喜欢45磅的苹果,和6元45 lk 56 ds一样,现在从文件中读取所有整数,并加上它们,上面的例子应该是45 + 6 + 45 + 56 = 152,它是用java编写的,请给我java中的代码。
答案 0 :(得分:0)
看一下FileReader类: https://docs.oracle.com/javase/8/docs/api/java/io/FileReader.html
FileReader类提供了从文件中读取文本所需的一切。
另一个建议是查看扫描仪类: https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html
此外,我建议您查看字符串类:https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
String Class提供了将文件文本转换为整数,从整数中分割文本以计算结果等所需的任何内容。
快乐学习!
答案 1 :(得分:0)
试试这个:
public static int getSum(String line) {
final Pattern p = Pattern.compile("-?\\d+"); //regex to extract numbers from string
final Matcher m = p.matcher(line);
int sum = 0;
while (m.find()) {
sum += Integer.parseInt(m.group());
}
return sum;
}
public static void main(String[] args) throws FileNotFoundException {
final Scanner scanner = new Scanner(new File("xxx.txt"));
System.out.println("--------");
while (scanner.hasNextLine()) {
final String line = scanner.nextLine();
System.out.println(line);
System.out.println("Sum is: " + getSum(line)); //for each line get the sum
System.out.println("--------");
}
scanner.close();
}