Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我使用循环的toString方法显示缺少元素的输出,如何修复它?_Java_Loops_Tostring - Fatal编程技术网

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

Java 我使用循环的toString方法显示缺少元素的输出,如何修复它?,java,loops,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;

我用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
公共字符串toString()
{
字符串s=“{”+列表[0];
对于(int i=0;i
我使用循环是因为我的数组声明为:

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)
version01partb的公共列表(int[]元素)
{
列表=新整数[element.length];

对于(int i=0;i而言,问题在于您对i变量没有足够的控制。另一件事是,首先检查您的输入始终是一种良好的做法。我认为以下代码可以帮助您

public String toString(){
    if(list == null || list.length==0)return "{}";
    StringBuffer sb = new StringBuffer("{"+list[0]);
    for(int i=0;i<list.length-1;i++){
        sb.append(","+list[i]);
    }
    sb.append("}");
    return sb.toString();
} 
公共字符串toString(){
if(list==null | | list.length==0)返回“{}”;
StringBuffer sb=新的StringBuffer(“{”+列表[0]);

对于(inti=0;i来说,一个简单的字符串很容易处理

试试这个

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

        for(int i=1; i<list.length;i++) //starting at second element since first was placed in string
        {
            s+=", "+list[i];                
        }

        s+="}";

        return s;
    }
公共字符串toString()
{
字符串s=“{”+列表[0];

对于(int i=1;i为什么要在for循环中增加循环索引
i
?这是一件非常危险的事情。您需要阅读关于for循环如何工作的教程,因为循环中的许多代码行和索引的增加都不应该做。提示:只有当数组长度大于3的倍数。只需执行
s+=list[i]
 public String toString()
    {
        String s="{"+list[0];

        for(int i=1; i<list.length;i++) //starting at second element since first was placed in string
        {
            s+=", "+list[i];                
        }

        s+="}";

        return s;
    }