C# 鱼目混珠

C# 鱼目混珠,c#,arrays,input,numbers,double,C#,Arrays,Input,Numbers,Double,以下是我必须做的: 创建一个数组 用户输入10个双元素 使用catch确保它是有效的数据 然后显示数据 以下是迄今为止的代码: static void Main(string[] args) { double[] numbers; numbers = new double[10]; for (int count = 0; count < 10; count += 1) { double num; Console.Writ

以下是我必须做的:

  • 创建一个数组
  • 用户输入10个双元素
  • 使用catch确保它是有效的数据
  • 然后显示数据
  • 以下是迄今为止的代码:

    static void Main(string[] args)
    {
        double[] numbers;
    
        numbers = new double[10];
    
        for (int count = 0; count < 10; count += 1)
        {
            double num;
    
            Console.WriteLine("Enter a number");
            num = Convert.ToDouble(Console.ReadLine());
    
        }
        Console.WriteLine("{0}", numbers);
        Console.ReadLine();
    }
    
    static void Main(字符串[]args)
    {
    双[]数字;
    数字=新的双精度[10];
    对于(整数计数=0;计数<10;计数+=1)
    {
    双数;
    Console.WriteLine(“输入一个数字”);
    num=Convert.ToDouble(Console.ReadLine());
    }
    Console.WriteLine(“{0}”,数字);
    Console.ReadLine();
    }
    
    静态void Main(字符串[]args)
    {
    double[]数字=新的double[10];
    对于(整数计数=0;计数<10;计数+=1)
    {
    双数;
    Console.WriteLine(“输入一个数字”);
    而(!double.TryParse(Console.ReadLine(),out num))
    {
    Console.WriteLine(“不是有效数字”);
    Console.WriteLine(“输入一个数字”);
    }
    数字[计数]=num;
    }
    foreach(数字为双项目)
    {
    Console.WriteLine(“{0}”,项);
    }
    Console.ReadLine();
    }
    
    静态void Main(字符串[]args)
    {
    double[]数字=新的double[10];
    int i=0;
    而(i<10)
    {
    双数;
    Console.WriteLine(“输入一个数字”);
    字符串输入=Console.ReadLine();
    尝试
    {
    num=double.Parse(输入);
    数字[i]=num;
    我++
    }
    接住
    {
    Console.WriteLine(“无效号码”);
    }
    }
    foreach(数字为双d)
    控制台写入线(d);
    Console.ReadLine();
    }
    
    静态void Main(字符串[]args)
    {
    double[]数字=新的double[10];
    int计数器=0;
    做
    {
    Console.WriteLine(“输入有效号码或按X退出”);
    var t=Console.ReadLine();
    尝试
    {
    双温=双解析(t);
    数字[计数器]=温度;
    计数器++;
    }
    捕获(例外)
    {
    如果(t.包含(“X”))
    {
    打破
    }
    //Console.WriteLine(“输入有效号码或按X退出”);
    }
    
    }while(counteradd a
    try/cath
    about
    Convert.ToDouble
    …或者更好的是…
    Double.TryParse
    当用户输入的不是数字的东西时会发生什么?我已经编辑了你的标题。请参见“”,其中的共识是“不,他们不应该”。为了避免使用
    Try Catch
    会产生的开销,您可以实际使用
    正则表达式。将
    @“\d+”
    匹配,以确保输入了数值。如果您希望允许小数,您可以格式化表达式来处理它。“使用Catch确保它是有效数据”+1,但将
    中的消息更改为告诉出现错误的消息error@PhaDaPhunk我使用的是double.tryparsee,这与使用try/catch不同。从问题的措辞来看,我猜这是家庭作业,所以catch要求可能很重要。@JasonWatkins正是我想说的,这很有效,tha谢谢你。
    
    static void Main(string[] args)
    {
        double[] numbers = new double[10];
    
        for (int count = 0; count < 10; count += 1)
        {
            double num;
            Console.WriteLine("Enter a number");
    
            while(!double.TryParse(Console.ReadLine(),out num))
            {
                 Console.WriteLine("Not a valid number");
                 Console.WriteLine("Enter a number");
            }
            numbers[count] = num;
        }
    
        foreach(double item in numbers)
        {
            Console.WriteLine("{0}", item);
        }
    
        Console.ReadLine();
    }
    
    static void Main(string[] args)
    {
        double[] numbers = new double[10];
    
        int i = 0;
        while (i < 10)
        {
            double num;
    
            Console.WriteLine("Enter a number");
            string input = Console.ReadLine();
            try
            {
                num = double.Parse(input);
                numbers[i] = num;
                i++
            }
            catch
            {
                Console.WriteLine("Invalid Number");
            }
        }
    
        foreach (double d in numbers)
            Console.WriteLine(d);
        Console.ReadLine();
    }
    
    static void Main(string[] args)
        {
            double[] numbers = new double[10];
    
            int counter = 0;
    
    
            do
            {
                Console.WriteLine("Enter valid number or press X to exit");
                var t = Console.ReadLine();
                try
                {
                    double temp = double.Parse(t);
    
                    numbers[counter] = temp;
                    counter++;
    
                }
                catch (Exception)
                {
                    if (t.Contains("X"))
                    {
                        break;
                    }
                    //Console.WriteLine("Enter valid number or press X to exit");
                }
    
    
            } while (counter<10);
    
            foreach (var number in numbers)
            {
                Console.Write("\nEntered number: "+number);
            }
    
            Console.ReadLine();
    
    
        }