从用户输入到数组并在 C# 中的控制台中显示

Posted

技术标签:

【中文标题】从用户输入到数组并在 C# 中的控制台中显示【英文标题】:Input from user to array and Display in Console in C# 【发布时间】:2021-11-25 17:50:51 【问题描述】:

我是 C# 的初学者,我想知道这段代码有什么问题。

    我希望用户输入数字的数量 然后创建一个具有该数量的数组 那么最后我想显示数组中的所有数字。

代码:

using System;
using System.Threading;
using System.Collections.Generic;

namespace Console_Project_alpha

    
class Program 

    
    static void Main(string[] args)
    
            Console.Write("Enter the amount of numbers: ");
            int amount = Convert.ToInt32(Console.ReadLine());
            
            int[] numbers = new int[amount];
            string nth = "";

            
            
            for( int i = 1; i <= amount ; i++)
            
                        if(i == 1)
                        
                            nth = i + "st";    
                        
                        else if( i == 2)
                        
                           nth = i + "nd";
                        
                        else if( i == 3)
                        
                            nth = i + "rd";   
                        else
                            nth = i + "th";
                        
                
                Console.Write("\nEnter " + nth + " Number:");
                int num = Convert.ToInt32(Console.ReadLine());
               
               for(int j = 0; j <= numbers.Length; j++)
                
                    numbers[j] = num;
                    
                
                
            
            System.Console.WriteLine(numbers);

            

    

   

非常感谢任何帮助。提前致谢

【问题讨论】:

它会帮助你添加你看到的问题。但是,这里 for(int j = 0; j 您索引超出了数组的末尾。最后一个索引是length-1。 如果你有一个长度为 N 的数组,那么索引从 0 到 N-1。在两个循环条件中将&lt;= 替换为&lt; 以解决问题。 谢谢!那是缺少的部分 【参考方案1】:
    在您的代码中,您总是将相同的值覆盖到所有索引中 数组。 如果您想在控制台中显示数组中的值,只需在数组之后进行迭代

根据您的代码正确工作的示例:

class Program


    static void Main(string[] args)
    
        Console.Write("Enter the amount of numbers: ");
        int amount = Convert.ToInt32(Console.ReadLine());

        int[] numbers = new int[amount];
        string nth = "";
        int index = 0;

        for (int i = 1; i <= amount; i++)
        
            if (i == 1)
            
                nth = i + "st";
            
            else if (i == 2)
            
                nth = i + "nd";
            
            else if (i == 3)
            
                nth = i + "rd";
            
            else
            
                nth = i + "th";
            

            Console.Write("\nEnter " + nth + " Number:");
            int num = Convert.ToInt32(Console.ReadLine());

            numbers[index] = num;
            index++;
        

        for (int i = 0; i <= numbers.Length - 1; i++)
        
            Console.WriteLine(numbers[i]);
        

        Console.ReadLine();
    


【讨论】:

现在我回来看看..这是一个简单的问题,我想知道,我到底是怎么问这个的..xD 无论如何谢谢 ;)

以上是关于从用户输入到数组并在 C# 中的控制台中显示的主要内容,如果未能解决你的问题,请参考以下文章

使用一个视图控制器从用户那里获取文本,将该值添加到数据库并在另一个 VC 中显示它[关闭]

如何从 c# 控制台应用程序中的用户输入创建多个对象?

显示来自用户输入的部分数组值匹配

将多个整数保存到数组并在标签中显示总值

如何在 C# 中将用户输入添加到二维数组

C#根据用户输入在类实例中查找数组[重复]