我需要根据用户所需的随机数创建随机数。
然后,当单击“保存到文件”按钮时,用户可以将这些随机数保存到文件中。
此后,程序允许用户打开相同的文件,但是这次,打开的文件需要显示在特定范围内创建了多少个随机数。 范围是:(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");
}
}
}
多亏了约翰一世,我才得以弄清问题的第一期。生成随机数问题并将其写入文件。 我仍然无法: *显示数字在各自的范围内。
我无法正确显示数字。
答案 0 :(得分:1)
OP,您要分配一次随机数 :
@
然后将其写出int random = r.Next(1, 10);// random number 1
次:
randomNumber
我认为您的代码需要阅读:
for(int i = 0; i < randomNumber; i++)
{
outputFile.WriteLine(random.ToString());
}
关于对范围内的数字进行计数:一种简单的方法可能是为每个范围创建“计数”变量,并根据您要查看的数字实施分支逻辑以增加正确的数字。更动态的方法可能涉及字典或包含范围和计数值的类数组。