Java For循环结果不为';我不明白

Java For循环结果不为';我不明白,java,if-statement,for-loop,Java,If Statement,For Loop,因此,我在一次测验中得到了以下代码片段: int a = 120; int b = 90; int n1 = Math.abs(a); int n2 = Math.abs(b); int result = 1; for (int k = 1; k <= n1 && k <= n2; k++) { if (n1 % k == 0 && n2 % k == 0) { result = k; } } System.out.

因此,我在一次测验中得到了以下代码片段:

int a = 120;
int b = 90;
int n1 = Math.abs(a);
int n2 = Math.abs(b);
int result = 1;

for (int k = 1; k <= n1 && k <= n2; k++) 
{
   if (n1 % k == 0 && n2 % k == 0) 
   {
      result = k;
   }
}
System.out.println(result);
inta=120;
int b=90;
int n1=数学绝对值(a);
int n2=数学绝对值(b);
int结果=1;

对于(int k=1;k如果在设置为
result
时打印出
k
,您会看到它打印出了
n1
n2
的公因数

90不能将
n1
n2
平均分配


30确实要注意你的
if
-语句进行检查,以便
k
n1
n2
分开。90不将120分开。

因为30是120和90中最大的公因数(30是120和90都可以平均分开的最大数),任何大于30的数字都会导致if语句计算为false,因此程序剩余部分的结果将为30。希望这有帮助!

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooof两个数字都不大于其中任何一个。