Как отобразить массив в C#? - PullRequest
0 голосов
/ 26 марта 2020

, так что я новичок в кодировании, и я решил изучить C# со всем Covid-19, и я столкнулся с небольшой проблемой, если кто-нибудь может мне помочь.

Я просто пишу основную c C# программу, которая позволяет пользователю вводить 5 чисел в массив и затем отображать массив, но по какой-то причине я только отображаю число 5, а не весь массив.

Пожалуйста, найдите мой код: (если кто-нибудь может сделать это проще для меня, пожалуйста, помогите мне LOL (:)

  int[] numbers = new int[5];
  int num = 0;
  int i = 0;

  Console.WriteLine("This porgram allows the user to input 5 numbers into an array");
  Console.Write("--------------------------------------------------------------");
  Console.WriteLine("\n");

  for ( i = 0; i < numbers.Length; i ++)
  {
    Console.WriteLine("Please input number");
    num = Convert.ToInt32(Console.ReadLine());
  }

  for (i = 0; i < numbers.Length; i++)
  {
     Console.ReadLine(); 
     Console.WriteLine("Your array is: " , numbers );
  }

  Console.WriteLine();

// любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

вот код: это основной c синтаксис отображения массива.

  public class Work  
  {  
   public static void Main()  
     {  
       int[] arr = new int[5]; 
       int i;  
       Console.Write("\nRead & Print elements of an array:\n");
       Console.Write("-----------------------------------------\n");    

       Console.Write("Input 5 elements in the array :\n");  
       for(i=0; i<5; i++)  
        {  
          Console.Write("element - {0} : ",i);
          arr[i] = Convert.ToInt32(Console.ReadLine());         
        }  

         Console.Write("\nElements in array are: ");  
         for(i=0; i<5; i++)  
         {  
           Console.Write("{0}  ", arr[i]);  
         } 
           Console.Write("\n"); 
      }
   }
0 голосов
/ 26 марта 2020

Две проблемы:

1) Вы не указали входящий номер. После

num = Convert.ToInt32(Console.ReadLine());

поставьте

 numbers[i] = num;

Хотя на самом деле num излишне, так что вы можете просто иметь

 numbers[i]= Convert.ToInt32(Console.ReadLine());

2) Во втором l oop вам нужно отобразить элемент массива Speci c:

   Console.WriteLine("Your array item is: " , numbers[i] );

Кроме того, не Убедитесь, для чего ReadLine() во втором l oop - просто означает, что пользователи должны нажать клавишу возврата, чтобы увидеть каждое число.

Стоит упомянуть несколько других проблем в коде:

  1. Переменные должны быть объявлены как можно ближе к месту их использования. это i должно быть объявлено отдельно для каждого для l oop - for(int i = 0; ... и num должно быть объявлено внутри l oop (хотя, как уже упоминалось, это избыточно).

  2. Проясните разницу между Console.Write() и Console.WriteLine(). WriteLine() просто добавляет \n к тому, что отображается. Таким образом, было бы более понятным (для того же результата иметь:

    Console.WriteLine("--------------------------------------------------------------"); Console.WriteLine();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...