gpt4 book ai didi

java - 我用 Java 保存的文本文件出现错误

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:59:02 26 4
gpt4 key购买 nike

我正在创建一个程序来保存前 X 个素数,但是当我将 ArrayList 保存到文本文件时,列表是完全错误的。这是我的代码:

import java.util.Scanner;
public class Class1
{
// This method tests whether a given number is prime or not.
public boolean isPrime ( int num )
{
boolean prime = true;
int limit = (int) Math.sqrt ( num );

for ( int i = 2; i <= limit; i++ )
{
if ( num % i == 0 )
{
prime = false;
break;
}
}

return prime;
}

public static void main ( String[] args )
{
Class1 ob1=new Class1();
System.out.println("Where do you want to stop?");
Scanner scan = new Scanner(System.in);
int y = scan.nextInt();
for ( int i = 2; i <= y; i++ )
{
if ( ob1.isPrime ( i ) )
System.out.println ( i );
}
}
}

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;


public class Output {
public static void main(String args[]) throws IOException {
Class1 obj = new Class1();OutputStream outputstream = new FileOutputStream("write.txt");
Writer writer1 = new OutputStreamWriter(outputstream);

try{

int max =100;
List<Integer> record = new ArrayList<Integer>(max);


// Going write in this file

for ( int i = 2; i <= max; i++ )
{
if ( obj.isPrime ( i ) )
System.out.println ( i );
record.add(i);

}
for(Integer str: record){
writer1.write(str);
}

}catch(IOException e){

}finally{writer1.close();}
}

}

这是文本文件的样子:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\

最佳答案

您正在调用 Writer.write(int),它将整数解释为 Unicode 代码点。使用 str.toString() 将参数强制转换为字符串。在你这样做之后,你可能也会希望有一些换行符。我建议将所有内容包装在 PrintWriter 中并在其上使用 println

关于java - 我用 Java 保存的文本文件出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12148256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com