如何得到一个随机数之间的最小和最大?最小值和最大值也是随机的
本文关键字:何得 最小值 最大值 随机 一个 随机数 之间 | 更新日期: 2023-09-27 18:14:10
当您按下按钮时,它生成两个随机数字为min和max。我需要把数字在一个列表,并选择一个随机数显示在一个标签。if语句不会打印错误消息,它会给我一个错误"输入字符串没有输入正确的格式"。我也试着把随机数在一个列表,我只是不能得到它弄清楚。如果能给点提示或建议,我将不胜感激。谢谢你
private void GoButton_Click(object sender, EventArgs e)
{
Random r = new Random();
int min = r.Next();
int max = r.Next();
MinLabel.Text = min.ToString();
MaxLabel.Text = max.ToString();
RandomValueLabel.Text = (MinOrMax(min, max)).ToString();
Between(min, max);
ListValueLabel.Text = Between(min, max).ToString();
}
private int MinOrMax(int min, int max)
{
if (min > max)
{
string message;
message = Convert.ToInt32("Min is greater than Max. Please press go again");
return message;
}
else
{
int answer;
answer = min * max;
return answer;
}
}
private int Between(int min, int max)
{
List<int> BetweenList = new List<int>(max);
for (int i = min; i < max; i++)
{
var swap = randomnum.Next(i - 1);
BetweenList.Add(BetweenList[swap]);
BetweenList[swap] = i;
}
//return integer
}
不能将字符串"Min is greater than Max. Please press go again"
转换为int
值
由于您希望该方法的结果最终是字符串,因此只需返回string
而不是int
。
private string MinOrMax(int min, int max)
{
if (min > max)
{
string message;
message = "Min is greater than Max. Please press go again";
return message;
}
else
{
int answer;
answer = min * max;
return answer.ToString();
}
}
如果您想要一个错误消息,如果您的条件不匹配,您可以抛出一个Exception,就像这样。顺便说一句,我不会评论返回值的逻辑。
private int MinOrMax(int min, int max)
{
if (min > max)
{
throw new Exception ("Min is greater than Max. Please press go again");
}
else
{
int answer;
answer = min * max;
return answer;
}
}
如何使用
private void YourFunction()
{
// your code
try
{
int getMinOrMax = MinOrMax(yourmin, yourmax);
// do your stuff
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// your code
}
理想情况下,您可以编写自己的Exception,但为了本示例的缘故。我将使用Exception类