gpt4 book ai didi

java - 如何检查数组中的除数

转载 作者:行者123 更新时间:2023-12-01 23:08:04 25 4
gpt4 key购买 nike

我有一个由 n 个单元格组成的数组,其中单元格 0 具有 int 0,单元格 1 具有 in 2 等... [0,2,3,4,n...]

我的目标是让用户在数组中选择一个值(不是单元格#),只有当以下两个条件都成立时,所选值才变为零:

  • 用户无法选择已经为 0 的单元格
  • 用户无法选择不属于数组中剩余除数的数字。例如;用户不能在包含 [0,0,3,4,0,6,7,8] 的数组中选择 3、4 或 7

用户选择不可用的任何号码都将显示 System.out.println ("Invalid number");

编辑:我现在的问题是,当我有 [0,0,0,4,5,6] 时,我可以选择 4,5 和 6 并将其变成零,即使其中任何一个都没有除数这些数字。

我尝试的代码,没有完全工作:

int[] NumBox = new int[StartNum];
for (int i = 1; i < NumBox.length+1; i++)
{NumBox[i - 1] = i;}




if (NumBox[pick-1]!= 0)
{
boolean hasDivisor = false;

for (int k = 1; k < NumBox.length+1; k++)
{

if (NumBox[k] == 0)
continue;
if (NumBox[pick-1] % NumBox[k] == 0)
{
hasDivisor = true;
break;
}
}


if (hasDivisor)
{
score1 = pick + score1;
NumBox[pick-1]=0;
}

else
System.out.println ("Invalid number");
}

感谢您的帮助。

最佳答案

您没有说明当前代码的问题是什么,但我猜测您可能想更改此测试:

if (NumBox[pick-1] % NumBox[k] == 0)

对此:

if (NumBox[pick-1] > NumBox[k] && NumBox[pick-1] % NumBox[k] == 0)

这样您就不会将数字视为其自身的除数。

关于java - 如何检查数组中的除数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22469792/

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