2013-08-15 2 views
-4

Я пишу программу, которая запрашивает консоль для x чисел из консоли. Если они выбрали номер 4, то должны быть сохранены 4 разных номера. Затем программа должна хранить все эти введенные числа в массиве, а затем добавлять номера вместе и распечатывать их в консоли.Хранение целых чисел из Консоли в массив

Итак, я попытался сделать:

Console.WriteLine("Write out a number: "); 
     int[] x = int[].Parse(Console.ReadLine()); 

и, видимо, вы не можете прочитать в элементах массива с консоли на этом пути, так что мне нужно хранить их внутри variabel, а затем добавить их в новый массив?

+5

'поэтому мне нужно сохранить их внутри variabel, а затем добавить их в новый массив?' Вы _try_ это? –

+2

Ive запрограммирован через 2 недели и мне жаль, если им немного новичок, но я пытаюсь улучшить. Поэтому, если бы я помог мне, а не издеваться над миром, это было бы лучше для всех. – user2669196

+1

@ user2669196 Представляя вам попробовать что-то, что вы сами рассматривали, не издевается над вами. Во-первых, это законный вопрос. Если вы пробовали это и потерпели неудачу, вы должны показать нам свои попытки, так как это поможет нам понять, что вы делаете/не понимаете. Если вы этого не сделали, это довольно вежливый способ сказать вам, что вы должны попробовать. * * * Обязанность приложить некоторые усилия, прежде чем задавать вопросы здесь; если бы вы знали, что вы должны делать, и просто не потрудились на самом деле попытаться это, то вы * вы действуете соответствующим образом. – Servy

ответ

2
Console.Writeline("Enter the number of numbers to add: "); 
//Yes, I know you should actually do validation here 
var numOfNumbersToAdd = int.Parse(Console.Readline()); 

int value; 
int[] arrayValues = new int[numOfNumbersToAdd]; 
for(int i = 0; i < numOfNumbersToAdd; i++) 
{ 
    Console.Writeline("Please enter a value: "); 
    //Primed read 
    var isValidValue = int.TryParse(Console.Readline(), out value); 
    while(!isValidValue) //Loop until you get a value 
    { 
     Console.WriteLine("Invalid value, please try again: "); //Tell the user why they are entering a value again... 
     isValidValue = int.TryParse(Console.Readline(), out value); 
    } 
    arrayValues[i] = value; //store the value in the array 
} 
//I would much rather do this with LINQ and Lists, but the question asked for arrays. 
var sum = 0; 
foreach(var v in arrayValues) 
{ 
    sum += v; 
} 
Console.Writeline("Sum {0}", sum); 
+1

Это решение может быть упрощено с помощью списков и LINQ и будет выглядеть намного чище, но это, вероятно, интересный бит на другой день. –

Смежные вопросы