创建数组,我让用户选择长度:
StartNum = scan.nextInt();
int[] NumBox = new int[StartNum];
for (int i = 1; i < NumBox.length+1; i++)
{NumBox[i - 1] = i;}
NumBox[0]=0;
假设还有其他方法可以将NumBox
中的单元格更改为0,那么如何使用for循环检查数组中的每个单元格是否有任何除数?如果数组中的单元格没有除数,则它将变为0.例如,如果数组为[0,2,0,4,0,6,7,8,9]
9,2 and 7
,则变为0
。
下面的代码是我累了但没有走远的。
boolean NoDiv=false;
for (int a=1; a < NumBox.length+1; a++)
{
a++
for (int check=1; a < NumBox.length+1; check++)
{
if (NumBox[a-1]% check == 0 && NumBox[a-1] !=0)
{
NumBox[a-1] = 0;
}
}
}
答案 0 :(得分:0)
for (int i = 0; i < NumBox.length; i++) {
if (NumBox[i] == 0) continue;
boolean hasDivisor = false;
for (int j = 0; j < i; j++) {
if (NumBox[j] == 0) continue;
if (NumBox[i] % NumBox[j] == 0) {
hasDivisor = true;
break;
}
}
if (!hasDivisor) NumBox[i] = 0;
}