//使用数组记录质数
int z=0;//记录数组
int[] a=new int[200];
for (int i=101;i<150;i++){
for (int j=2;j<i;j++)
{
if (i%j==0)
{
a[z]=i;
z++;
}
}
}
for (int x=0;x<z;z++) {
System.out.print(a[x]);
}
根据我的理解,你的题目意思应该是想记录101~149中的质数,在代码中帮你写了一些基本的注释
有帮助望采纳哦
/**
* 记录101~149中的质数
* @Author ChenJiahao(程序员五条)
* @Date 2021/9/23 0:26
*/
public class Test {
public static void main(String[] args) {
// 记录数组
int z = 0;
int[] a = new int[200];
// 给外层循环打一个标志c,方便内循环直接跳到这里(第一次尝试用continue去跳到指定标志,竟然可以,那就方便多了)
c:for (int i = 101; i < 150; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
// 能走到这里说明本次判断的i已经不是质数了(跳出内循环),使用continue(同时指定标志)跳到外循环,开始新一轮
continue c;
}
}
// 能走到这里说明本次判断的i是质数(上述的continue已经保证了),进行赋值操作
a[z] = i;
z++;
}
// 这里应该是x++了,不是z++
for (int x = 0; x < z; x++) {
System.out.print(a[x] + " ");
}
}
}
最后
推荐用集合
for (int x=0;x<z;z++) {
System.out.print(a[x]);
}
z++?
你少了个break
if (i%j==0)
{
a[z]=i;
z++;
break;
}