2

我得到了一个包含两个字母和一个数字的数组列表。我需要显示它,例如“ab1”。但每次我得到一个带有一些数组列表代码的打印行:“pp4main.Letter@f7e6a96pp4”

这是我的数组列表:ArrayList<Letter> letterlijst = new ArrayList<Letter>();

我的代码试图显示:

public Kofferslot(char letter1, char letter2, int cijfer){

    Letter letterlijst1 = new Letter();
    letterlijst1.setLetter(letter1);
    Letter letterlijst2 = new Letter();
    letterlijst1.setLetter(letter2);

    letterlijst.add(letterlijst1);
    letterlijst.add(letterlijst2);


    Cijfer cijfer3 = new Cijfer();
    cijfer3.setCijfer(cijfer);

    String letterstring1 = letterlijst.get(0).toString();
    String letterstring2 = letterlijst.get(1).toString();

    System.out.println(letterstring1 + letterstring2 + cijfer3);
}
4

3 回答 3

1

您必须覆盖and类的toString()方法。LetterCijfer

像这样的东西:

@Override
public String toString()
{
    return String.valueOf(mijnLetter);
}

但更好的方法是使用 getter ( getLetter()),而不是 toString。

于 2012-12-06T12:42:36.703 回答
1

在您的 Letter 类中覆盖toString(),默认情况下将调用 Object 的 toString()

 @override
 public String toString() {
       return ""+ch1+ch2+number
  }

其中 ch1, ch2 是 Letter 类中的 char 属性,而 number 是 int 属性

于 2012-12-06T12:43:07.773 回答
1

您必须覆盖 toString() 来打印字母,或者不要使用:

letterlijst.get(0)

使用这样的东西:

letterlijst.get(0).getLetter() // return letter1 of setLetter(letter1)
于 2012-12-06T12:56:13.440 回答