gpt4 book ai didi

java - 我正在编码以在二维数组中保存和打印 1 ... 10 范围内的素数。

转载 作者:行者123 更新时间:2023-12-01 04:24:59 26 4
gpt4 key购买 nike

这是我的代码。输出是单行 7 7 7 7,而不是两行 2 3 5 7。错误之处还请指出。

int [][] array = new int [2][2];
int N =10;
for (int num = 2; num <= N; num++) {
for (int i = 0; i < array.length; i++){
for (int j = 0; j < array.length; j++){
if(isprime(num)){
array[i][j] = num;
}
}
}
}
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++){
System.out.print(array[i][j] + " ");
}
System.out.println();
}
private static boolean isprime(int number) {
for (int i = 2; i < number; i++) {
if(number % i == 0) {
return false;
}
}
return true;

最佳答案

您的 2 个内部循环遍历每个数字的整个数组,即它用最新的素数覆盖整个数组。

修复 -

  • 一维数组就足够了。
  • 不需要超过 1 个循环,保留一个索引计数器,从 0 开始,每次找到素数时,执行 arr[index++] = prime
  • 或者只是使用一个列表并插入到最后。

关于java - 我正在编码以在二维数组中保存和打印 1 ... 10 范围内的素数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18587783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com