for循环Java返回值

时间:2016-05-08 15:15:45

标签: java for-loop arraylist

我对Java很新,对不起,如果这个问题太简单了。我试图评估一个数组是否是斐波纳契数列的一部分。我不知道如何回归" true"当整体"为"时的价值循环不会破坏。有任何想法吗?先感谢您!这就是我现在所拥有的:

<div  ng-app="qnaModule"  ng-controller="qaCtrl">
<ol >
    <li ng-repeat="quest in questionJson">
        {{ quest.question }}

        <div>
            <label ng-repeat="questionOption in optionJson" ng-if="questionOption.quesId == quest.quesId">
                <input type= "radio" ng-model="answerJson[quest.quesId].answer" value="{{questionOption.option}}">
                {{ questionOption.option }}
                <br/>
            </label>

        </div>
    </li>
</ol>
<button ng-click="checkScore(answerJson)">Check Score</button>
</div>

2 个答案:

答案 0 :(得分:3)

您始终从该方法返回true。你应该做如下的事情:

public boolean checkFibb(ArrayList<Integer> array1) {
   int i;
   int fibb;
   boolean isFibb = true;

   if (array1.size() < 3) {
       System.out.println("Your array is too short!");
       isFibb = false;
   } else {
       for (i = 0; i <= array1.size() - 2; i++) {
           fibb = array1.get(i + 2) - (array1.get(i + 1) + array1.get(i));

           if (fibb != 0) {
                System.out.println("Elements are not part of the Fibonacci sequence.");
                isFibb = false;
                break;
           } else {
                System.out.println("Elements are part of the Fibonacci sequence."); 
           }
       }
   }
   return isFibb;
}

答案 1 :(得分:2)

您在代码中所做的是当您检测到元素不是斐波那契序列的一部分时,您正在打破循环的当前迭代。 break仅停止您所在循环的当前迭代。此时您要执行的操作是return false。当您检测到数组确实是斐波那契序列时,此时您需要return true

如果数组太短,则它不能是斐波纳契数列,因此此时你会return false

public boolean checkFibb(ArrayList<Integer> array1) {
int i;
int fibb;

if (array1.size() < 3) {
    System.out.println("Your array is too short!");
    return false;
} else {
    for (i = 0; i <= array1.size() - 2; i++) {
        fibb = array1.get(i + 2) - (array1.get(i + 1) + array1.get(i));

        if (fibb != 0) {
            System.out.println("Elements are not part of the Fibonacci sequence.");
            return false;
        } else {
            System.out.println("Elements are part of the Fibonacci sequence.");
            return true;
        }
    }
}

}