----------------解决方案--------------------------------------------------------
我也试了一下,折腾好久,发现版主果然是版主!!睡告诉我错在那里?
write()不是可以直接输出数组么?我看过API啊。
从这题我觉得C比较简便。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class C2Java {
public static void main(String args[]) {
int a[][] = { { 0, 0, 0, 0 }, { 1, 1, 1, 1 }, { 6, 2, 4, 8 },
{ 1, 3, 9, 7 }, { 6, 4, 6, 4 }, { 5, 5, 5, 5 }, { 6, 6, 6, 6 },
{ 1, 7, 9, 3 }, { 6, 8, 4, 2 }, { 1, 9, 1, 9 }, };
try {
FileWriter fw = new FileWriter(new File("F:\\suiran3.txt"));
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 4; j++) {
fw.write(a[i][j]);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
----------------解决方案--------------------------------------------------------
你的程序有三个问题:
1。首先不能完成楼主提出的功能,就是写进文件也是如下:
0000111162481397646455556666179368421919
2。没有关闭流,所以流中的数据无法写进文件。
3。使用API不当,Writer是有public void write(int c)throws IOException这个方法,但是注意它是用于写入一个字符的,那个int是这个字符对应的Unicode码。可以使用如下的方法:将你的程序中的fw.write(a[i][j]);
这一行改为:fw.write(String.valueOf(a[i][j]));就可以了。
下面是改动的程序:
public class C2Java {
public static void main(String args[]) {
。。。。。。
try {
。。。。。。
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 4; j++) {
fw.write(String.valueOf(a[i][j]));
}
}
fw.close();
} catch (IOException e) {
。。。。。 }
}
}
最后说明一点,Java的IO是比较复杂点,但是是由于比较考虑到跨平台,网络等诸多因素,所以它的功能也是强大的。c的读写时相对简单,但是安全性,兼容性就差一些。
----------------解决方案--------------------------------------------------------