Java: Array List Печать объекта ссылки вместо массива [дубликата]

1

Я очень люблю новичков, когда дело доходит до кодирования. То, что я пытаюсь выполнить, - загрузить оценки из txt файла и поместить их в существующий массив.

Я на самом деле решил это. и в программе массив сохраняет значения. Но когда я их распечатал, я получаю ссылку на объект aka [I @5c647e05, а не массив. Ниже мой код.

   public static void main(String[] args)    {
        int[] list = new int[15];
        Scanner in = null; // create a scanner object
        loadGrades(in, list);

        System.out.println(list);
    }

    public static void loadGrades(Scanner in, int[] list) {

        int grades; // int variable
        try { // try            
            in = new Scanner(new FileReader("Proj5Data.txt"));// change filename
        } catch (FileNotFoundException ex) { // catch
            System.out.println("File not found");
            System.exit(1);
        }
        for (int i = 0; i < list.length; i++) {         
                grades = in.nextInt(); // var
                list[i] = grades ;// put the int in the array at the counter value            
        }
        in.close();

    }

Печатать результаты как:

[I@5c647e05
BUILD SUCCESSFUL (total time: 0 seconds)
Теги:
arrays

4 ответа

0
Лучший ответ

Когда вы печатаете массив за кулисами, вызывается метод toString(), и он не печатает содержимое массива (что очень плохо ИМО). Но вы можете легко преодолеть это с помощью библиотеки Arrays:

System.out.println(Arrays.toString(list));
0

System.out.println(list) использует метод.toString() для разрешения печати. Вы можете использовать Arrays.toString (список) или распечатать его по одному.

0

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

for(int i : list){
  System.out.println(i);
}
-1

Так что все методы, которые вы мне дали, действительно сработали. Но я закончил тем, что использовал printf для печати. Спасибо за помощь.

  • 0
    Пожалуйста, не используйте ответы, чтобы оставлять сообщения, которые должны быть комментариями.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню