主题:java问题求大神指点
7、编写程序J_PrimeNumber.java,请用户输入一个正整数,然后保存小于该数的所有素数到out.txt文档;如果用户输入的不是正整数,则提示用户“请输入一个正整数”。
import java.io.*;
public class J_PrimeNumber{
public static int getInt(BufferedReader f)
{
try
{
String s=f.readLine();
int i=Integer.parseInt(s);
return i;
}
catch(Exception e)
{
return -1;
}
}
public static void main(String args[])
{
int a;
try
{
BufferedReader f =
new BufferedReader(new InputStreamReader(System.in ));
a=getInt(f);
for(int i=2;i<a;i++)
{
for(int j=2;j<=sqrt((double)i);j++)
{
if(i%j==0)
break;
}
}
}
catch (Exception e)
{
System.err.println("发生异常:" + e);
e.printStackTrace( );
}
}
}
这是我写的未完成的代码 以及题目要求。两个for循环中,内层的for循环旨在判断素数。但是我发现不管是不是素数,在循环结束后依旧可以跳出。达不到仅仅输出素数的目的。求大神指点。
import java.io.*;
public class J_PrimeNumber{
public static int getInt(BufferedReader f)
{
try
{
String s=f.readLine();
int i=Integer.parseInt(s);
return i;
}
catch(Exception e)
{
return -1;
}
}
public static void main(String args[])
{
int a;
try
{
BufferedReader f =
new BufferedReader(new InputStreamReader(System.in ));
a=getInt(f);
for(int i=2;i<a;i++)
{
for(int j=2;j<=sqrt((double)i);j++)
{
if(i%j==0)
break;
}
}
}
catch (Exception e)
{
System.err.println("发生异常:" + e);
e.printStackTrace( );
}
}
}
这是我写的未完成的代码 以及题目要求。两个for循环中,内层的for循环旨在判断素数。但是我发现不管是不是素数,在循环结束后依旧可以跳出。达不到仅仅输出素数的目的。求大神指点。