问题是:
编写一个Java程序以接受任何20个数字,并仅显示那些质数.
我的代码是:
import java.io.*;
class primenumber
{
public static void main(String args[]) throws IOException
{
InputStreamReader read = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(read);
int i,j,n;
int p = 0;
for(i=1;i<=20;i++)
{
System.out.println("Enter a number");
n = Integer.parseInt(in.readLine());
p = 0;
for(j=1;j<=n;j++)
{
if(n%j==0)
p++;
}
if(p==2)
System.out.println(n);
}
}
}
这是正确的吗?
最佳答案
从我从阅读程序中可以看出来的是正确的:它执行了赋值操作,没有数组.
根据您课堂上的要求,可能会争辩说缺少输入验证.如果输入-4,则您的程序将不会打印它(这可能被认为正确吗?),但是如果输入3.14或apple,它可能会崩溃.
有几个次要的问题,但是当您询问正确性时,答案是肯定的,它是正确的.