java - 随机生成数字,直到它们完全相除

标签 java

我在这里遇到了一个小问题。基本上我下面的程序只是生成两个随机数并将它们相除。

在此之前,我插入一条语句,如果 num1 不能被 num2 整除,则 num2 必须生成一个 1 到“num1”之间的数字,直到它可被整除。

但最终它不断给我一个不可整除的数字(或者基本上给出小数点)。我尝试在互联网上寻找示例,并且非常了解模运算符。我这里哪里出错了?我只希望两个数字可以整除,仅此而已。

下面是我的代码:

int num1, num2, real_ans;  
Random randomGenerator = new Random();  

num1 = randomGenerator.nextInt(100) + 1;  
num2 = randomGenerator.nextInt(100) + 1;            

if (num1%num2!=0) {  
  do {  
    num2 = randomGenerator.nextInt(num1) + 1
  } while(num1%num2==0);  
}  
real_ans = num1 / num2;  

最佳答案

将 do/while 循环更改为:

do{  
  num2 = randomGenerator.nextInt(num1) + 1
} while(num1 % num2 != 0); 

(注意!=)。

这个循环直到数字完全相除。

关于java - 随机生成数字,直到它们完全相除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23366747/

相关文章:

java - 如何从 .vm 文件的 javascript 调用 java 方法

java - 在jaxb中生成list标签和object标签

java - JTable 不使用 repaint() 方法更新添加的行

java - 在 JPQL 查询中过滤结果

java - 如果在使用 JAVA 和 APACHE-POI 3.6 访问时打开 excel,如何关闭它?`

java - Jackson:有没有办法在 boolean 反序列化中忽略 0/1?

java - 将字符保存到文件时出现问题

java - 如何在 Java 中读取格式化输入?

java - 比较两个字符串的有效方法(字符顺序无关紧要)

java - getInitParameterNames() 未获取初始化参数