题目要求
(对二进制数据文件中的所有数据求和)假设已经使用DataOutputStream中的writeInt(int)创建一个名为Exercise 19_3.dat的二进制数据文件,文件包含数目不确定的整数,编写一个程序来计算这些整数的总和。
Java代码
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test3 {
public static void main(String[] args) throws IOException {
DataOutputStream output = new DataOutputStream(new FileOutputStream("Exercise 19_3.dat"));
int number = (int)(Math.random() * 20);
for (int i = 0; i < number; i++) {
output.write((int) (Math.random() * 10));
}
int total = 0;
DataInputStream input = new DataInputStream(new FileInputStream("Exercise 19_3.dat"));
int num = 0;
while((num = input.read()) != -1){
total += num;
System.out.print(num + " ");
}
System.out.println(num);
System.out.println("文件中共" + number + "个整数,和为:" +total);
}
}