数组没有正确循环Java

时间:2016-04-23 05:08:14

标签: java arrays

我有一个简单的事实应用程序,它有一系列不同的事实。 我有一个下一个,上一个和主页按钮。 当按下主页按钮时,我希望第一个事实再次显示,之后,它将从第一个数组值开始再次递增。

我的主页按钮无效。如果我点击下一个按钮5次,然后按下主页按钮,我将被引导到第一个事实,但如果我按下下一个按钮,那么第6个事实将显示,而不是第二个。

这是我的代码:

public String nextFact() {
        i++;
        if(i >= facts.length) {
            i = 0;
        }

        return facts[i];
    }


    public String previousFact() {
        i--;
        if(i < 0) {
            i = facts.length - 1;
        }
        return facts[i];
    }

    public String homeButton() {
        int i = 0;
        return facts[i];
    }

2 个答案:

答案 0 :(得分:4)

您宣布i的新本地版本。 它应该是:

public String homeButton() {
        i = 0;
        return facts[i];
    }

答案 1 :(得分:-1)

根据你的代码,我假设i是三种方法共享的变量,它跟踪当前显示的问题的索引。如果是这种情况,您的方法应该将类成员i重置为0,而不是创建局部变量。

public String homeButton() {
    i = 0;
    return facts[i];
}

这应该可以解决问题。