请编写程序,从in.txt文件中读取斐波拉契数列前20项,并计算前20项目的和,将计算所得到的和写入sum.txt文件中。
时间: 2024-02-27 08:56:28 浏览: 63
汇编语言(斐波拉契数列)
以下是示例代码:
```java
import java.io.*;
public class FibonacciSum {
public static void main(String[] args) {
int n = 20;
int[] fib = new int[n];
try {
FileInputStream fileInputStream = new FileInputStream("in.txt");
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
byte[] bytes = new byte[1024];
int bytesRead = bufferedInputStream.read(bytes);
String fibString = new String(bytes, 0, bytesRead);
String[] fibStrings = fibString.split(",");
for (int i = 0; i < fibStrings.length; i++) {
fib[i] = Integer.parseInt(fibStrings[i]);
}
bufferedInputStream.close();
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
int sum = 0;
for (int i = 0; i < n; i++) {
sum += fib[i];
}
try {
FileOutputStream fileOutputStream = new FileOutputStream("sum.txt");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
String sumString = String.valueOf(sum);
byte[] bytes = sumString.getBytes();
bufferedOutputStream.write(bytes);
bufferedOutputStream.close();
fileOutputStream.close();
System.out.println("斐波拉契数列前20项的和已成功写入文件!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序首先使用FileInputStream和BufferedInputStream从文件"in.txt"中读取斐波拉契数列前20项。在读取过程中,程序将字节流转换为字符串,并使用逗号分隔符将其拆分为一个字符串数组。然后,程序将每个字符串转换为整数,并存储在数组中。
接下来,程序计算斐波拉契数列前20项的和,并将计算结果以字节流的形式写入到文件"sum.txt"中。最后,程序关闭输出流并打印一条成功写入文件的消息。
阅读全文