2015-04-08 2 views
0

В принципе, я хочу, чтобы мой код позволял пользователю вводить x количество целых чисел (они выбрали x), затем они будут хранить каждое из своих введенных значений в моем массиве.Array Printing Java

По какой-то причине, когда я распечатать мой массив после всех значений были введены:

Я получаю это:

Код:

Scanner input = new Scanner(System.in); 
    System.out.print("How many integers will you enter:"); 
    int amount = input.nextInt(); 

    int myArray[] = new int[amount]; 

    for (int counter = 0; counter < amount; counter ++){ 
     myArray[counter] = input.nextInt(); 
    } 
    System.out.println(myArray); 

консоли:

 How many integers will you enter:2 
     4 
     2 
     [[email protected] 
+0

возможно дубликат [Что это самый простой способ для печати Java массив?] (http://stackoverflow.com/questions/409784/whats-the-simplest-way-to-print-a-java-array) –

ответ

0

Ok, вы можете забрать Петля для и сделать это таким образом

Я бы настоятельно рекомендуем сделать это с помощью цикла for. Он печатает один элемент в то время каждый раз, когда цикл работает, и с циклом for он проходит через каждый элемент. Вы должны изменить Println на это (внутри вас цикл)

System.out.println(myArray[counter]); 

или если вы хотите, чтобы иметь массив на одной и той же линии

System.out.print(myArray[counter]+ " "); 

Позже при программировании вы собираетесь увидеть, как Полезно, это сравнивается с методом Arrays.toString().

1

Строка, которую вы получаете, представляет собой объектную нотацию массива, которая ожидается [[email protected] wher е

  • [I это имя класса
    • [ один массив х мерном
    • I целочисленный массив
  • @ присоединяется строку
  • 55f96302 некоторые хэш-код

Для печати массива сделать

или вы можете просто цикл по каждому элементу массива

0

Вы также можете использовать java.util.ArrayList

ArrayList<Integer> myArray = new ArrayList<Integer>(amount); 

for (int counter = 0; counter < amount; counter ++){ 
myArray.add(counter,input.nextInt()); 
} 
System.out.println(myArray); 

печатает массив как это -> [1, 2, 3, 4]