无限循环无法弄清楚如何阻止它java

时间:2012-12-09 20:57:38

标签: java for-loop

嗨,我正在慢慢地学习Java,但是我遇到了无限循环的问题。以下是我的代码。从构造函数的开始到显示方法的结束,如何在添加最后一个条目后停止循环?

public UnitResults(int Size, String title)
{            
    this.fName = new String [Size];
    this.surname = new String [Size];
    this.Marks = new int [Size];
    pointer = 0;

    fName[pointer] = "Daniel";
    surname[pointer] = "Scullion";

    Marks[pointer] = 60;
    unitTitle  = title;

    pointer ++;

}

public Boolean add( String tempfName, String tempsName, int newGrade)
{ 
    if (pointer == fName.length)
    {
    System.out.println("The Students Database is full");
    return false;
    }
    else
    { 
        fName [pointer] = tempfName;
        surname [pointer]  = tempsName;
        Marks[pointer] = newGrade;
        pointer ++;
        System.out.println("Student Added");
        return true;
    }
} // end Add

public void display()
{
    System.out.println("Students Results\n");
    for (int index = 0; index < pointer; index++)
    {
        System.out.println( unitTitle + "\n" 
            + fName[index] + "\n"  
            + surname[index] + "\n" 
            + Marks[index] + "\n"
            + "\n" );  
        index++;
    }
}

感谢您对此提供任何帮助!

1 个答案:

答案 0 :(得分:2)

索引++; line不是必需的,实际上可能是你无限循环的原因。索引++已在for()语句中指定。添加再次意味着每个循环的索引增加2。

for (int index=0; index < pointer;  index ++)
{

    System.out.println( unitTitle + "\n" 
            + fName[index] + "\n"  
            + surname[index] + "\n" 
            + Marks[index] + "\n"
            + "\n" );  
    index++; // <<<----- this line should not be here

}