package fileDemo; import java.util.*; import java.io.*; public class scoreDemo { public static void main(String[] args) throws IOException { TreeSet<score> scores=new TreeSet<>(); Scanner sc=new Scanner(System.in); String []s=new String[1024]; for(int i=0;i<3;i++) { System.out.println("请用户输入姓名 成绩"); String name=sc.next(); int score=sc.nextInt(); score ss=new score(name,score); ss.setName(name); ss.setJavascore(score); scores.add(ss); } File f=new File("score.txt"); BufferedWriter bw=new BufferedWriter(new FileWriter(f)); bw.write("姓名\t"); bw.write("java成绩\t"); bw.newLine(); bw.flush(); for(score stu:scores) { bw.write(stu.getName()+'\t'); bw.write(stu.getJavascore()); bw.newLine(); bw.flush(); } bw.close(); } } 为什么不能存数字
时间: 2023-11-28 18:49:57 浏览: 151
在第30行,您使用了 `bw.write(stu.getJavascore());` 尝试将数字写入文件,但是 `bw.write()` 方法只能接受字符串参数。您需要将数字转换为字符串,可以使用 `Integer.toString()` 或者 `String.valueOf()` 方法将数字转换为字符串,具体如下:
```
bw.write(Integer.toString(stu.getJavascore()));
// 或者
bw.write(String.valueOf(stu.getJavascore()));
```
修改后的代码如下:
```
package fileDemo;
import java.util.*;
import java.io.*;
public class scoreDemo {
public static void main(String[] args) throws IOException {
TreeSet<score> scores=new TreeSet<>();
Scanner sc=new Scanner(System.in);
String []s=new String[1024];
for(int i=0;i<3;i++) {
System.out.println("请用户输入姓名 成绩");
String name=sc.next();
int score=sc.nextInt();
score ss=new score(name,score);
ss.setName(name);
ss.setJavascore(score);
scores.add(ss);
}
File f=new File("score.txt");
BufferedWriter bw=new BufferedWriter(new FileWriter(f));
bw.write("姓名\t");
bw.write("java成绩\t");
bw.newLine();
bw.flush();
for(score stu:scores) {
bw.write(stu.getName()+'\t');
bw.write(Integer.toString(stu.getJavascore())); // 修改这里
bw.newLine();
bw.flush();
}
bw.close();
}
}
```
阅读全文