java一次只能读一行_java - 如何使用扫描仪一次只读一行整数? - SO中文参考 - www.soinside.com...

如果我有一个包含数字列表的.txt文件。它应该返回每行中所有数字的总和以及文件中每个数字的总和。然后在控制台中打印所有这些内容。让我们说txt文件是:

50 3 21 10 9 9 54 47 24 74

22 63 63 28 36 47 60 3 45 83

20 37 11 41 47 89 9 98 40 94

48 77 93 68 8 19 81 67 80 64

41 73 24 29 99 6 41 23 23 44

43 41 29 11 43 94 62 27 81 71

83 14 97 67 21 68 77 25 21 24

31 8 54 14 49 96 33 18 14 80

54 55 53 38 62 53 62 10 42 29

17 89 92 87 15 42 50 85 68 43

这是我的代码:

import java.io.File;

import java.io.IOException;

import java.util.Scanner;

public class Summer {

public static void main(String args[]) throws IOException {

File text = new File("src/nums.txt");

if (!text.exists()) {

text.createNewFile();

}

int sum = 0;

Scanner input = new Scanner(text);

while (input.hasNextInt()) {

sum = sum + input.nextInt();

}

System.out.printf("Sum of all numbers: %d", sum);

int lineSum = 0;

int lineNum = 1;

while (input.hasNext()) {

if (input.hasNextInt()) {

lineSum = lineSum + input.nextInt();

} else {

input.next();

lineNum++;

}

}

System.out.printf("%nSum of line %d: %d", lineNum, lineSum);

}

}

哪个输出:

Sum of all numbers: 4687

Sum of line 1: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值