gpt4 book ai didi

java - toString()方法正在打印hashCode而不是字符串表示形式

转载 作者:行者123 更新时间:2023-11-30 05:19:51 26 4
gpt4 key购买 nike

我的班级中有一个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()方法中,给定的字符串(例如“ abc”)让其返回“ LetterInventory @ 1a407d53”,而不是当我的预期输出为“ [abc]”时

最佳答案

我复制了您的代码并运行了它,并且效果很好

因为您正确覆盖了toString()方法。

System.out.println(new LetterInventory("abc")) // [abc]

关于java - toString()方法正在打印hashCode而不是字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59748789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com