Java Can';无法使用FileWriter写入数字

Java Can';无法使用FileWriter写入数字,java,arrays,filewriter,Java,Arrays,Filewriter,这是我的代码,我希望b[I]将写入文件名test.txt,但它不工作。只是写些符号之类的东西。谢谢你的帮助 public class btl { public static boolean IsPrime(int n) { if (n < 2) { return false; } int squareRoot = (int) Math.sqrt(n); for (int i = 2; i <= squareRoot; i++) {

这是我的代码,我希望b[I]将写入文件名test.txt,但它不工作。只是写些符号之类的东西。谢谢你的帮助

public class btl {
public static boolean IsPrime(int n) {

    if (n < 2) {
        return false;
    }

    int squareRoot = (int) Math.sqrt(n);
    for (int i = 2; i <= squareRoot; i++) {
        if (n % i == 0) {
            return false;
        }
    }
    return true;
}




public static void main(String args[]) {
    Scanner scanIn = new Scanner(System.in);
    int first = 0;
    int second = 0;
    try {
        System.out.println("Input First Number");
     first = scanIn.nextInt();
        System.out.println("Input Second Number");
        second= scanIn.nextInt();
    }
    catch(Exception e) {
        System.out.println("Something wrong!");
    }
    int x = first;
    int y = second;
    int a;
    int[] b = new int[y];

    Thread threadA = new Thread(new Runnable() {
        @Override
        public void run() {     
            int c=0;
            for(int i=x; i<y; i++) {   
                if(IsPrime(i)) {
                    b[c] = i;
                    System.out.println(b[c]);
                    c++;
               }
         }


        }
    });
    threadA.start();


    try(FileWriter fw = new FileWriter("test.txt")){

            for(int i =0; i<y; i++)
            {
             fw.write(b[i]);
            }
        }
    catch(IOException exc) {
        System.out.println("EROR! " + exc);
    }

}

}
公共类btl{
公共静态布尔iPrime(int n){
if(n<2){
返回false;
}
int平方根=(int)Math.sqrt(n);
for(int i=2;i
FileWriter.write(int)
写入单个字符。 您可能需要
FileWriter.write(String)
如下所示:

    fw.write(Integer.toString(b[i]));

看起来您正在将数字写入test.txt。它们是十六进制的,不是字符串。如果需要文本,请将其转换为字符串,然后输出字符串。