【发布时间】:2011-11-12 02:54:39
【问题描述】:
我正在尝试为我的心算测验游戏生成随机数。但我认为我做错了什么。请帮助我更正我的代码。请尝试包括某种解释,为什么我的代码不正确。提前致谢!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MindTraining
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the digits of first number ");
int a=int.Parse(Console.ReadLine());
Console.WriteLine("Enter the digits of second number");
int b = int.Parse(Console.ReadLine());
Random RandomClass = new Random(DateTime.UtcNow.Second);
int RandomNumber = RandomClass.Next(10^(a-1), 10^a);
Console.WriteLine(RandomNumber);
}
}
}
我想要实现的是,我希望用户输入数字 a 中的位数和数字 b 中的位数
然后程序会生成随机数,假设用户输入2作为a,那么程序必须生成0到10之间的数字(随机数,每次不同)
如果用户为 a 输入 3,则在 10 到 100 之间,
b 类似,然后计算 product.Number 在程序运行期间不应重复超过 2 次。
好的,我把代码改成了
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MindTraining
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the digits of first number ");
int a=int.Parse(Console.ReadLine());
Console.WriteLine("Enter the digits of second number");
int b = int.Parse(Console.ReadLine());
Random RandomClass = new Random(DateTime.UtcNow.Second);
double num1=Math.Pow(10,a-1);
double num2=Math.Pow(a,1);
int num3 = Convert.ToInt32( num1);
int num4=Convert.ToInt32(num2);
int RandomNumber = RandomClass.Next(num3,num4);
Console.WriteLine(RandomNumber);
}}
//但还是没有得到结果,我抛出错误,
这个成功了!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MindTraining
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the digits of first number ");
int a=int.Parse(Console.ReadLine());
Console.WriteLine("Enter the digits of second number");
int b = int.Parse(Console.ReadLine());
Random RandomClass = new Random();
double num1=Math.Pow(10,(a-1));
double num2=Math.Pow(10,(a));
int num3 = Convert.ToInt32( num1);
int num4=Convert.ToInt32(num2);
int RandomNumber = RandomClass.Next(num3,num4);
Console.WriteLine(RandomNumber);
}
}
}
【问题讨论】:
-
如果我们不知道您希望这段代码到底做什么,就很难判断您做错了什么。
-
如果你想要一些“完全随机”的东西(我假设你的意思是“每次都可能不同”),那么你为什么将自己限制为只有 60 个可能的种子值?跨度>
-
“在程序运行期间,数字不应重复超过 2 次”与“完全随机”不兼容。一个真正随机的序列总是可以有任意长的相同值的重复。这不是问题的原因,但值得理解。
标签: c# random-sample