Java-массивы печатают странные цифры и текст

Я новичок в программировании. Я уверен, что ответ на этот вопрос есть, но я понятия не имею, что искать.

Хорошо, я пойду прямо к нему.

Вот мой код:

int[] arr; arr = new int[5]; arr[0] = 20; arr[1] = 50; arr[2] = 40; arr[3] = 60; arr[4] = 100; System.out.println(arr); 

Это компилируется и работает отлично. Это просто результат CMD, из-за которого у меня головокружение.

Это результат: [[email protected] .

Я хочу, чтобы на выходе отображались точные номера из списка ( arr ). Как это сделать?

    Каждый объект имеет метод toString() , а метод по умолчанию – отображать представление имени classа объекта, а затем @ за которым следует его hash-код. Итак, то, что вы видите, представляет собой представление по умолчанию для toString() для массива int . Чтобы распечатать данные в массиве, вы можете использовать:

     System.out.println(java.util.Arrays.toString(arr)); 

    Или вы можете перебирать массив с циклом for как другие, опубликованные в этом streamе.

    Это стандартное строковое представление массива (странный текст).

    Вам просто нужно пройти через него:

     for(int i : arr){ System.out.println(i); } 

    Для печати используйте значения.

     for(int i=0; i 

    Он печатает его метод .toString (), который вы должны печатать каждый элемент

     for(int i=0; i 

    BTW Вы можете написать

     int[] arr = { 20, 40, 60, 40, 60, 100 }; System.out.println(Arrays.toString(array)); 

    или даже

     System.out.println(Arrays.toString(new int[] { 20, 40, 60, 40, 60, 100 })); 

    или

     System.out.println(Arrays.asList(20, 40, 60, 40, 60, 100)); 
     System.out.println(Arrays.toString(arr)); 

    Текущий выход – это [email protected] .

    Если вам нужно печатать массивы с использованием более одного измерения:

     Arrays.deepToString(arr); 

    Также не забудьте переопределить метод toString() для пользовательских classов, чтобы получить представление объекта objet по вашему выбору, а не представление по умолчанию, которое представляет собой [email protected]

    Как это:

     for (int i = 0; i < arr.length; ++i) { System.out.println(arr[i]); } 

    Это «странное число» является ссылкой на массив, который вы распечатали. Это поведение по умолчанию, встроенное в метод java.lang.Object toString ().

    Вы должны переопределить его в своих собственных объектах, если просмотреть ссылку недостаточно.

     for (int i = 0; i < arr.length; ++i) { System.out.println(arr[i]); } 

    Моя версия короче!

    Используйте Arrays.toString () и PrintStream.printf (String format, Object … args) .

     System.out.printf("%s%n", Arrays.toString(arr)); 

    Вы напечатали ссылку, а не значения в ссылке … В один прекрасный день все станет ясно с C.

    Давайте будем гением компьютера.