java - 我使用循环的 toString 方法显示输出缺少元素,如何修复它?

标签 java loops tostring

我正在使用 BlueJ 来执行此操作,但我遇到了 toString 位的问题。我才刚刚开始编程,所以如果我不了解所有的技术方面,请原谅。 这是我的代码:

public String toString()
{
    String s = "{" + list[0]; 

    for ( int i = 0 ; i < list.length-1 ; i++ ) 
    {
        i = i+1;
        s = s + ", " + list[i];
        i = i+1;
        s = s + ", " + list[i];
        i = i+1;
        s = s + ", " + list[i];
    }

    s = s + "}";
    return s;

} // method toString

我正在使用循环,因为我的数组声明为:

public ListOfNVersion01PartB(int [] element)
{
    list = new int[element.length]; 
    for (int i=0 ; i<element.length ; ++i )
         list[i] = element[i];

} // constructor ListOfNVersion01Skeleton(int [] element)

其输出是:

({2,4,7,3}) <-- 这是一个数组

.toString() -> "{2, 4, 7, 3}"<--这个输出是正确的

({1,2,3,4,9,8,7,6 <-- 这是另一个

.toString() -> "{1, 2, 3, 4, 8, 7, 6} <-- 此输出缺少 9

我该如何解决这个问题? 请记住,我无法添加任何类,因为它需要具有与基准输出相同的结构。 请帮忙。

最佳答案

StringBuilder sb = new StringBuilder("{");
for(String element: list){
    sb.append(element);
    sb.append(",");
}
return sb.subSequence(0, sb.length()-1) + "}";

关于java - 我使用循环的 toString 方法显示输出缺少元素,如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25922932/

相关文章:

java - 如何在 AES-128、AES-192 和 AES-256 之间切换

mysql - 在 MySql 中循环,还是替代?

java - 检查数组是否至少有两个具有特定值的元素

javascript - 是否可以覆盖 JavaScript 的 toString() 函数来为调试提供有意义的输出?

javascript - JS,返回函数名

java - “打开方式”对话框

java - 在java中读取文件时,字符之间存在空格

java - 如何使用 wsdl 文档而不是 URI 创建 Eclipse Web 服务客户端?

python - Python中列表的迭代

java - 如何用抽象类输出