虽然我已将输出转换为String
,但控制台上的输出为“Solution @ 3343c8b3”。感谢。
public class Solution {
public String convertToTitle(int n) {
if (n < 1)
throw new IllegalArgumentException("Input a wrong number");
StringBuilder sb = new StringBuilder();
while (n > 0) {
n--;
char ch = (char) (n % 26 + 'A');
n = n / 26;
sb.append(ch);
}
sb.reverse();
return sb.toString();
}
}
测试类:
public class test {
public static void main(String[] args) {
int f = 2;
Solution f1 = new Solution();
f1.convertToTitle(f);
System.out.println(f1);
}
}
答案 0 :(得分:4)
您应该在班级中覆盖toString
方法。
您获得的输出是toString
的默认实现,它显示了类的名称,后跟@
,然后是哈希码:
类Object的
toString
方法返回一个字符串,该字符串由对象为实例的类的名称,at符号字符“@”和散列码的无符号十六进制表示形式组成。对象。
另请注意,convertToTitle
会返回String
,您只需打印即可。
答案 1 :(得分:2)
您打印的是Solution
个对象,而不是String
创建的convertToTitle
。
答案 2 :(得分:2)
您需要打印convertToTitle
的输出,因此需要输入
System.out.println(f1.convertToTitle(f));
答案 3 :(得分:2)
您应该打印方法返回的值:convertToTitle
,如:
String title = f1.convertToTitle(f);
System.out.println(title);
另外,这可能不是你现在关注的问题,你的System.out.println(f1);
正在打印toString
Object
中默认实现toString
提供的字符串类。
您应该在Solution
中覆盖$http.get('/api/sites/' + service.siteID)
方法。
答案 4 :(得分:2)
当你调用f1.convertToTitle(f);时,你正在返回一个字符串对象,但是你没有使用它。相反,你打印f1。
如果您想获得返回的输出,请使用
String output=f1.convertToTitle(f);
System.out.println(output);
或者,如果您想从解决方案中打印其他内容,则应覆盖toString方法并使用System.out.println(f1);