1.程序功能:从键盘输入一个正整数n,计算并输出n以内的全部素数。 import java.util.Scanner; public class Test{ public static void main(String[] args) { Scanner sc = new Scanner (System. in); int n ; int i,j; System.out.printin(“清輸入一个整数:"); n = sc.nextDouble (); System.out.print(n+“以内的素数有:”); for(j=2;j<=n;j++6 for (i=2;i‹=j/2;i++) { if(j1==8){ continue; } if(i<i/2) { System.out.print (j+" "); // Error1 // Error2 // Error3 } } } 2
时间: 2024-03-08 07:46:07 浏览: 62
这段代码中有一些错误,需要进行修正:
1. 第8行应该使用`nextInt()`方法获取一个整数,而不是`nextDouble()`方法获取一个双精度浮点数。
2. 第9行应该将变量`j`的初值修改为`2`,而不是`6`。
3. 第14行应该将`j%2==0`改为`j%i==0`,表示判断`j`是否能被`i`整除。
4. 第15行应该将`if(j1==8)`改为`if(j==2)`,因为2是素数,不需要进行后续的判断。
5. 第16行应该将`if(i<i/2)`改为`if(i<=j/2)`,表示从2到j/2枚举i。
修正后的代码如下:
```
import java.util.Scanner;
public class Test{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
int i,j;
System.out.print("清输入一个整数:");
n = sc.nextInt();
System.out.print(n+"以内的素数有:");
for(j=2;j<=n;j++) {
for (i=2;i<=j/2;i++) {
if(j%i==0){
break;
}
if(i==j/2) {
System.out.print(j+" ");
}
if(j==2){
System.out.print(j+" ");
break;
}
}
}
}
}
```
阅读全文