gpt4 book ai didi

java - 生成随机的简单数学除法问题

转载 作者:行者123 更新时间:2023-11-29 20:52:14 25 4
gpt4 key购买 nike

我正在为我的女儿制作一个简单的 Android 应用程序,以便她可以做数学题。我发现随机生成加法、减法和乘法问题相当容易,但除法比较棘手。

我不想进入小数,所以我必须检查每个小数是否可以整除而没有余数。这就是我正在使用的...

public void genDivQuestion() {
text = (TextView) findViewById(R.id.textView1);
text.setText(divisible());
answer = first / second;
}

public String divisible() {
first = RandomNumGen.getRandIntBetween(2, 12);
second = RandomNumGen.getRandIntBetween(2, 12);
if (first % second == 0) {
return first + " \u00F7 " + second + " = ?";
} else {
return "0";
}
}

我不确定在“返回“0”;”这一行该做什么。如果我尝试调用 divisible() 再试一次,应用程序就会崩溃。

这是 RandomNumGen 类,我从 James Cho 的一本初学者书中借用了它:

import java.util.Random;

public class RandomNumGen {

private static Random rand = new Random();

public static int getRandIntBetween(int lowerBound, int upperBound) {
return rand.nextInt(upperBound - lowerBound) + lowerBound;
}

public static int getRandInt(int upperBound) {
return rand.nextInt(upperBound);
}
}

最佳答案

与其抽取 2 个随机数并检查它们是否可以彼此整除,不如尝试以下操作:

first = someRandomNumber(2, 12);
second = someRandomNumber(2, 12);

showDivisionProblem(first * second, first)

这道题会要求你用first除以first * second,答案应该是second

例如:

3 * 2 / 2 --> 6 / 2 = 3

在找到 2 个好数字之前无需循环运行。这样,数字将始终是可分的。

编辑:

如果将两个操作数限制为 12 很重要,请考虑以下事项:

first = someRandomNumber(2, 12);
second = someRandomNumber(1, 12 / first);

其中 first 是 int 类型。

在这种情况下,如果 first 是任何大于 6 的值,second 将被强制为 1。如果第一个是 6 到 4 之间的任何值,第二个可以是 1 或 2如果第一个是 4,第二个可以是 1、2 或 3等

关于java - 生成随机的简单数学除法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28831171/

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