【发布时间】:2018-10-31 17:10:20
【问题描述】:
我必须创建一个包含一串数字的输入文件。我需要我的程序来创建一个输出文件,其中只有输入文件的质数。我完全不知道如何创建一个循环来检查我的输入文件中的素数并创建一个只有素数的输出文件。
import java.util.Scanner;
import java.io.*;
public class ClassWork5_3
{
public static void main(String[] args) throws IOException
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter file name: ");
String filename = keyboard.nextLine();
PrintWriter pw = new PrintWriter("output.txt");
File file = new File(filename);
Scanner inputFile = new Scanner(file);
int line = inputFile.nextInt();
while(inputFile.hasNext())
{
isPrime(line);
}
}
public static boolean isPrime(int num)
{
boolean status;
for(int i = 2; i < num/2; i++)
{
if (num%i==0)
{
status = false;
}
}
return true;
}
}
【问题讨论】:
-
你想从控制台或文件中读取输入数字吗?
-
我希望程序从我创建的输入文件中读取数字,然后将素数写入自己的输出文件中。
-
你的方法是正确的,只是你需要将输出发送到文件,如果返回的状态为真,则需要添加 pw.write(line) 类似的东西
-
而您忘记在 while 循环中添加 line=inputFile.nextInt() 这是您无法获得结果的主要原因
-
我更新了我的代码,但我不知道如何将它发布到这里查看。它现在仍然在我的输出文件中为我提供与输入文件相同的数字,包括素数和非素数。