所以我正在构建一个小型数学游戏,其中生成随机和,并在回答后添加到正确或错误的分数。进展顺利,我在某些事情上得到了一些帮助,并在此过程中学到了东西,但我遇到了另一个我无法弄清楚的问题。游戏在生成总和时在 +、-、* 和 / 运算符之间进行选择,并且 +、- 和 * 运行良好,但 / 经常需要程序不喜欢的十进制答案。我想尝试找出一种方法,使其不生成除以除以第一个数字时会导致十进制答案的数字。这是一些示例代码来清除我到目前为止的内容:
var randomNum = new Random();
num1 = randomNum.Next(0, 10);
num2 = randomNum.Next(0, 10);
char[] operators = { '+', '-', '*', '/' };
char op = operators[randomNum.Next(operators.Length)];
switch (op)
{
case '+':
answer = num1 + num2;
label1.Text = num1.ToString() + " + " + num2.ToString() + " = ";
break;
case '-':
answer = num1 - num2;
label1.Text = num1.ToString() + " - " + num2.ToString() + " = ";
break;
case '*':
answer = num1 * num2;
label1.Text = num1.ToString() + " * " + num2.ToString() + " = ";
break;
case '/':
answer = num1 / num2;
label1.Text = num1.ToString() + " / " + num2.ToString() + " = ";
break;
}
我尝试将说明 num1 和 num2 的位移动到每个案例中,以便它们看起来像这样:
case '/':
num1 = randomNum.Next(0, 10);
num2 = randomNum.Next(0, 10);
answer = num1 / num2;
label1.Text = num1.ToString() + " / " + num2.ToString() + " = ";
break;
但是我无法想象我可以在括号中放入什么而不是使用 (0, 10) 来避免小数和答案。有没有一种方法可以让它确定答案是否为小数,以及是否重新滚动 num2 以尝试获得整数答案?谢谢!