В моем классе есть метод toString (), в котором я пытаюсь вернуть строковое представление перечня букв в отсортированном алфавитном порядке (в квадратных скобках).
public class LetterInventory {
private int[] count; //list of letters a to z
private int size;
public static final int MAX = 26;
public LetterInventory(String data) {
count = new int[MAX];
data = data.toLowerCase();
size = 0;
for (int i = 0; i < data.length(); i++) {
if (Character.isLetter(data.charAt(i))) {
count[data.charAt(i) - 'a']++;
size++;
}
}
}
public int size() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
public int get(char letter) {
if(!Character.isLetter(letter)) {
throw new IllegalArgumentException("nonalphabetic character: " + letter);
}
return count[Character.toLowerCase(letter) - 'a'];
}
public String toString() {
String represent = "[";
for (int i = 0; i < MAX; i++) {
for (int j = 0; j < count[i]; j++) {
represent += (char) ('a' + i);
}
}
represent += "]";
return represent;
}
}
В моем методе toString () данная строка, такая как «ab c», возвращает «LetterInventory@1a407d53» вместо того, когда предполагаемый вывод должен быть «[abc]»