2015-12-27 3 views
-3

Как я могу динамически заполнить массив и распечатать его содержимое, разделенное запятой. Я хочу распечатать все числа, введенные мной из массива, который я динамически заполняю, который будет отличаться при каждом его запуске.Динамическое заполнение массива в Java

псевдо-код:

, разделенное запятой Введите число. Возьмите эти числа и заполните массив под названием grades. Получите среднее значение этих оценок Распечатайте >>> System.out.println («Введенный вами сорт:« + оценки »);

+2

Поделиться, где вы в настоящее время застряли, по крайней мере. – Perdomoff

+1

У вас есть googled, как инициализировать массив в java? есть много примеров этого в Интернете – EkcenierK

+1

@Perdomoff --- вот почему я ввел псевдокод; Отсюда вопрос. Но я уверен, что я был неясно. без разницы. «У» Клибби - да! У меня есть, и я продолжаю получать результаты, которые указывают мне на этот сайт («Stack»). Но нет, я их не нашел. Каждый экземпляр, который я нашел, использовал предопределенное количество массивов Array array [] = new Array [10] ". Я не хочу этого. Я хочу иметь возможность использовать input.nextInt() для динамического заполнения, а затем выплевывать их обратно. И тем, кто понизил мой вопрос, вы несете. Я прошу о подлинной помощи, и вы возвышаетесь. не комментируйте отрицательно –

ответ

1

Вы подумали об использовании ArrayList<>? В отличие от Array, Arraylist можно легко расширить!

Используйте java.util.Scanner класс, чтобы получить вход и хранить его в любом массиве или ArrayList:

Scanner myScanner = new Scanner(System.in); 
String input = myScanner.nextLine(); 

// has all the numbers but isn't dynamic 
String[] numbers = input.split(","); 

// now you can dynamically add or remove items without big effort 
ArrayList<String> demNumbers = new ArrayList<>(Arrays.asList(numbers)); 

Затем использовать простой цикл для перебора массива/ArrayList:

// the arraylist way using a for each loop 
int sum = 0; 
for(String i : demNumbers) { 
    i = i.trim(); // eliminate whitespace -> else NumberFormatException 
    sum+=Integer.parseInt(i); 
} 

// then get the average 
float average = (float) sum/(float) demNumbers.size(); 

Не забудьте указать myScanner.close()!

+0

Спасибо, Никлас! Я пытаюсь понять ваше предложение. Я уверен, что это сработает. Я еще не читал о ArrayList <>, тем не менее, я новичок в этой концепции. Позвольте мне посмотреть, как это происходит. Я вернусь к тебе. Я работаю над той же идеей, что и с Акрамом Калалвой на другой должности. Он помог мне обнаружить системную ошибку. –

+0

Похож, по крайней мере, вы не такие напыщенные, как некоторые другие. Я пытаюсь сделать ваше предложение, но я получаю и ошибки: вот он ... ArrayList demNumbers = new ArrayList <> (Arrays.asList (числа)); ошибка в этой строке заключается в том, что «Несколько маркеров в этой строке. ArrayList не может быть разрешен для типа». <<<<< - это ошибка, которую я получаю. есть идеи? –

+0

здесь, где появляется ошибка:
\t import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; // Здесь я пытаюсь распечатать среднее значение и числа // я ввел System.out.println (средний + "" + numbers.split (",")); }} - –

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