【发布时间】:2021-01-27 01:06:16
【问题描述】:
您好,我是编程新手,我正在尝试制作一个可以生成 2 个随机数的除法程序,条件是第一个数字必须大于第二个数字,并且没有余数。如果生成的数字不满足条件,它将继续生成,直到满足条件。谁能帮我解决我的错误?
randomnum1 = 1 + (int)(Math.random()*9);
randomnum2 = 1 + (int)(Math.random()*9);
while (randomnum1 < randomnum2 && randomnum1/randomnum2 % 2 != 0) {
randomnum1 = 1 + (int)(Math.random()*9);
randomnum2 = 1 + (int)(Math.random()*9);
int number1 = randomnum1;
int number2 = randomnum2;
int a = number1/number2;
//rest of program is below this
【问题讨论】:
-
一种更简单的方法是选择两个因子 x 和 y,然后将它们相乘得到 z = x*y。然后问乘积 z 和其中一个因子 x 的商是多少。正确答案是您选择的另一个因素,即 y。在这种情况下,您可以完全消除循环并获得三个满足您正在寻找的条件的数字。
-
仅提及您在该领域的未来努力。作为一条建议,您希望通过使用无限循环来实现这一点的方式并非绝对有效。在现实生活中,这种实现永远不会被接受。