2016-12-13 2 views
-5

я хочу напечатать элемент из ArrayList, но я получаю неправильный выход (.A @ 15db9742)Неправильный выходной элемент ArrayList

import java.util.ArrayList; 
class A { 
int aa; 
A(int x) { 
    aa=x; 
} 
} 
public class test{ 
public static void main(String[] args){ 
    A aa = new A(1); 
    A ab = new A(2); 
    A ac = new A(3); 
ArrayList<A> lista = new ArrayList<A>(3); 
lista.add(aa); 
lista.add(ab); 
lista.add(ac); 
System.out.println(lista.get(0)); } 
+6

Что такое ожидаемый результат? И какой результат вы получаете? –

+3

Вы должны правильно отложить свой код, если попросите людей попробовать его прочитать. – khelwood

+0

Что вы подразумеваете под «неправильным выходом»? –

ответ

0

Вы должны переопределить toString метод в классе A:

public String toString() { 
return "aa: " + this.aa; 
} 
+0

спасибо. теперь работает. – bardamu

1

Предполагая, что ваш код должен возвращать 1, ваша проблема заключается в том, что ваш класс A не включает метод toString

heres некоторая информация о toString: toString

вставить этот метод в классе А:

public String toString() { 
    return Integer.toString(aa); 
} 

для будущей ссылки, попробуйте укладывать код немного более четко, чтобы другие могли читать то, что вы пытаетесь сделать

например:

import java.util.ArrayList; 

class A { 
    int aa; 

    A(int x) { 
     aa=x; 
    } 
} 

public class test { 
    public static void main(String[] args) { 
     A aa = new A(1); 
     A ab = new A(2); 
     A ac = new A(3); 
     ArrayList<A> lista = new ArrayList<A>(3); 
     lista.add(aa); 
     lista.add(ab); 
     lista.add(ac); 
     System.out.println(lista.get(0)); 
    } 
} 

удачи: D

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