使用 C# 的随机数生成器
Random Number Generator using C#
我需要根据用户所需的随机数数量创建随机数。
点击保存到文件按钮后,用户可以将这些随机数保存到文件中。
之后,程序允许用户打开同一个文件,但这次打开的文件需要显示创建了多少个特定范围内的随机数。
范围是:(0-19、20-39、40-59、60-79 和 80-99)。
到目前为止,我能够创建一个随机数,并根据用户输入的次数列出相同的数字,但不幸的是:
创建的随机数需要通过用户创建的迭代次数全部随机
不知道如何显示各自范围内的数字
我无法正确显示数字。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void RandNumbtextBox_TextChanged(object sender, EventArgs e)
{
}
private void saveFileButton_Click(object sender, EventArgs e)
{
double randomNumber = double.Parse(RandNumbtextBox.Text);
Random r = new Random();//random number object
int random = r.Next(1, 10);// random number 1
if (saveFileDialog.ShowDialog()== DialogResult.OK)
{
StreamWriter outputFile;
outputFile = File.CreateText(saveFileDialog.FileName + ".txt");
for(int i = 0; i < randomNumber; i++)
{
outputFile.WriteLine(random.ToString());
}
outputFile.Close();
}
else
{
MessageBox.Show("op cancelled");
}
}
private void openFileButton_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
StreamReader inputFile;
inputFile = File.OpenText(openFileDialog.FileName);
int sum = 0;
while (!inputFile.EndOfStream)
{
sum += int.Parse(inputFile.ReadLine());
}
inputFile.Close();
MessageBox.Show(sum.ToString());
}
else
{
MessageBox.Show("op cancelled");
}
}
}
多亏了约翰,我才能够弄清楚问题的第一期。生成随机数问题并将它们写入文件。
我仍然无法:
*显示各自范围内的数字。
我无法正确显示数字。
OP,您正在分配随机数 一次:
int random = r.Next(1, 10);// random number 1
然后写 randomNumber
次:
for(int i = 0; i < randomNumber; i++)
{
outputFile.WriteLine(random.ToString());
}
我认为您的代码需要阅读:
for(int i = 0; i < randomNumber; i++)
{
outputFile.WriteLine(r.Next(1, 10).ToString());
}
至于计算范围内的数字:一种简单的方法可能是为每个范围创建 "count" 变量,并实施分支逻辑以根据您正在查看的数字递增正确的数字。一种更动态的方法可能涉及字典或包含范围和计数值的 类 数组。
我需要根据用户所需的随机数数量创建随机数。
点击保存到文件按钮后,用户可以将这些随机数保存到文件中。
之后,程序允许用户打开同一个文件,但这次打开的文件需要显示创建了多少个特定范围内的随机数。 范围是:(0-19、20-39、40-59、60-79 和 80-99)。
到目前为止,我能够创建一个随机数,并根据用户输入的次数列出相同的数字,但不幸的是:
创建的随机数需要通过用户创建的迭代次数全部随机
不知道如何显示各自范围内的数字
我无法正确显示数字。
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void RandNumbtextBox_TextChanged(object sender, EventArgs e) { } private void saveFileButton_Click(object sender, EventArgs e) { double randomNumber = double.Parse(RandNumbtextBox.Text); Random r = new Random();//random number object int random = r.Next(1, 10);// random number 1 if (saveFileDialog.ShowDialog()== DialogResult.OK) { StreamWriter outputFile; outputFile = File.CreateText(saveFileDialog.FileName + ".txt"); for(int i = 0; i < randomNumber; i++) { outputFile.WriteLine(random.ToString()); } outputFile.Close(); } else { MessageBox.Show("op cancelled"); } } private void openFileButton_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { StreamReader inputFile; inputFile = File.OpenText(openFileDialog.FileName); int sum = 0; while (!inputFile.EndOfStream) { sum += int.Parse(inputFile.ReadLine()); } inputFile.Close(); MessageBox.Show(sum.ToString()); } else { MessageBox.Show("op cancelled"); } } }
多亏了约翰,我才能够弄清楚问题的第一期。生成随机数问题并将它们写入文件。 我仍然无法: *显示各自范围内的数字。
我无法正确显示数字。
OP,您正在分配随机数 一次:
int random = r.Next(1, 10);// random number 1
然后写 randomNumber
次:
for(int i = 0; i < randomNumber; i++)
{
outputFile.WriteLine(random.ToString());
}
我认为您的代码需要阅读:
for(int i = 0; i < randomNumber; i++)
{
outputFile.WriteLine(r.Next(1, 10).ToString());
}
至于计算范围内的数字:一种简单的方法可能是为每个范围创建 "count" 变量,并实施分支逻辑以根据您正在查看的数字递增正确的数字。一种更动态的方法可能涉及字典或包含范围和计数值的 类 数组。