首先生成一个0到9的随机数,然后让用户从键盘输入一个数字(应该是有个输入数字的范围的,暂时不管这个范围,基本上输入的数字在1-4之间),比如用a来表示这个输入的数字,然后程序生成a个随机数字,都不同于最开始的数字,并且这a个数字互相也不相同
我写了一段代码,用一个方法生成不同的随机数字,但是这样做生成的a个随机虽然和最初的不同,可是a个数字互相都一样,求高手帮忙看一下改怎么修改才能达到最初的目的,即生成a个不同的随机数字(并且和最初的数字也不同)
class Program
{
static void Main(string[] args)
{
Random ra = new Random();
int a = ra.Next(0, 10);
Console.WriteLine(a);
Console.WriteLine("\n");
int testA = getKey("in put a num:");
for (int i = 1; i <= testA; i++)
{
int testB = raNum(a); Console.WriteLine(testB);
}
}
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;
}
public static int getKey(string keys)
{
Console.WriteLine(keys);
string key = Console.ReadLine();
return int.Parse(key);
}
}
我写了一段代码,用一个方法生成不同的随机数字,但是这样做生成的a个随机虽然和最初的不同,可是a个数字互相都一样,求高手帮忙看一下改怎么修改才能达到最初的目的,即生成a个不同的随机数字(并且和最初的数字也不同)
class Program
{
static void Main(string[] args)
{
Random ra = new Random();
int a = ra.Next(0, 10);
Console.WriteLine(a);
Console.WriteLine("\n");
int testA = getKey("in put a num:");
for (int i = 1; i <= testA; i++)
{
int testB = raNum(a); Console.WriteLine(testB);
}
}
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;
}
public static int getKey(string keys)
{
Console.WriteLine(keys);
string key = Console.ReadLine();
return int.Parse(key);
}
}
static void Main(string[] args)
{
Random ra = new Random();
int a = ra.Next(0, 10);
Console.WriteLine(a);
Console.WriteLine("\n ");
int testA = getKey("in put a num: ");
for (int i = 1; i <= testA; i++)
{
int testB = raNum(a, ra); Console.WriteLine(testB);
} Console.ReadLine();
} public static int raNum(int a,Random rb)
{
//Random rb = new Random();
int b = rb.Next(0, 10);
while (b == a)
{
b = rb.Next(0, 10);
} return b;
}
public static int getKey(string keys)
{
Console.WriteLine(keys);
string key = Console.ReadLine();
return int.Parse(key);
}
using System.Collections.Generic;
using System.Text;
using System.Collections;namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Random ra = new Random();
int a = ra.Next(0, 10);
Console.WriteLine(a);
Console.WriteLine("\n ");
int testA = getKey("in put a num: ");
ArrayList list = new ArrayList();
for (int i = 1; i <= testA; i++)
{
int testB = raNum(a, list, ra);
list.Add(testB);
}
for (int j = 0; j < list.Count; j++)
{
Console.WriteLine(int.Parse(list[j].ToString()));
} Console.ReadKey();
}
public static int raNum(int a,ArrayList list,Random rb)
{
int b = rb.Next(0, 10);
while(b == a)
{
b = rb.Next(0, 10);
}
bool xxx = Compare(a,b,list,rb);
if (xxx)
{
return b;
}
else
{ return raNum(a,list,rb); }
} public static bool Compare(int a ,int b, ArrayList list,Random rb)
{
bool boo = true;
for (int i = 0; i < list.Count; i++)
{
if (b == int.Parse(list[i].ToString()))
{
boo = false;
}
}
return boo;
}
public static int getKey(string keys)
{
Console.WriteLine(keys);
string key = Console.ReadLine();
return int.Parse(key);
}
}
}你试试吧