C#新手再次请教一个关于生成随机数的问题
我想生成2个不同的随机数字,都是0到9之间,我想的做法是先生成一个随机数字int a=ra.next(0,10),然后再生成另一个随机数字,比较2个数字如果一样,则重新生成第2个数字,直到不同为止,然后输出2个不同的数字,生成第2个数字和2个数字比较的过程放在一个方法中,我写的代码是这样:
class Program
{
static void Main(string[] args)
{
Random ra = new Random();
int a = ra.Next(0, 10);
Console.WriteLine(a);
int b=ranum(a);
Console.WriteLine(b);
}
public static int ranum(int a)
{
Random rb = new Random();
int b = rb.Next(0, 10);
if (b != a)
{
return b;
}
else
{
Random rc = new Random();
int c = rc.Next(0, 10);
}
}
}
问题是这样写,编译器会报告一个错误:"并非所有的代码路径都返回值"
请教一下如何修改代码才能实现最初的要求..
------解决方案--------------------class Program
{
static void Main(string[] args)
{
Random ra = new Random();
int a = ra.Next(0, 10);
Console.WriteLine(a);
int b=ranum(a);
Console.WriteLine(b);
}
public static int ranum(int a)
{
Random rb = new Random();
int b = rb.Next(0, 10);
while(b==a)
{
b = rb.Next(0, 10);
}
return b;
}
}
手写的没有进行编译,看了一下应该没问题。
其实我也学不多久,希望以后一起切磋吧,呵呵,MSN: lyhenhanqing@hotmail.com