使用C#

时间:2018-12-11 00:58:32

标签: c# random random-seed

我需要根据用户所需的随机数创建随机数。

然后,当单击“保存到文件”按钮时,用户可以将这些随机数保存到文件中。

此后,程序允许用户打开相同的文件,但是这次,打开的文件需要显示在特定范围内创建了多少个随机数。 范围是:(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");
            }
        }
    }
    

    多亏了约翰一世,我才得以弄清问题的第一期。生成随机数问题并将其写入文件。 我仍然无法: *显示数字在各自的范围内。

  • 我无法正确显示数字。

1 个答案:

答案 0 :(得分:1)

OP,您要分配一次随机数

@

然后将其写出int random = r.Next(1, 10);// random number 1 次:

randomNumber

我认为您的代码需要阅读:

for(int i = 0; i < randomNumber; i++)
{
    outputFile.WriteLine(random.ToString());
}

关于对范围内的数字进行计数:一种简单的方法可能是为每个范围创建“计数”变量,并根据您要查看的数字实施分支逻辑以增加正确的数字。更动态的方法可能涉及字典或包含范围和计数值的类数组。