想表达的是输入一个数字,看这个数字是不是质数,并输出相应结果。
另外还想问一下有没有更加简便的方法
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if(num==1) {
System.out.println("这不是质数");
return;
}
for(int i = 2;i <= num;i++) {
if(num%i==0&&num!=i) {
System.out.println("这不是质数");
break;
}
if(num==i){
System.out.println("这是质数");
}
}
这个程序基本上正确,可以改进的地方:
(1)循环不必全部判断,只要判断到sqrt(num)即可。
(2)这个程序对于<1的输入参数,结果不对。所以if (num == 1)可以写if (num <= 1)
不能用break; 得用continue; 不然for循环就结束了