J'ai un commentaire dans mon code pour expliquer vers quel résultat final je tends, mais s'il vous plaît ne répondez pas à la manière dont je pourrais atteindre cet objectif tout en répondant à cette question.
En gros, j'ai un entier étiqueté "currentNum" qui est égal à 1. J'ai une boucle while qui doit s'exécuter jusqu'à ce que currentNum soit inférieur à quatre millions. Cependant, pour une raison quelconque, la boucle ne s'exécute pas. Tout ce qui se trouve en dehors de la boucle while s'exécute, mais la boucle while elle-même ne fonctionne pas.
'HI' est affiché une fois dans la console. 'LOOP' n'est pas affiché dans la console.
Code :
/*Chaque nouveau terme dans la séquence de Fibonacci est généré en ajoutant les deux termes précédents.
* En commençant par 1 et 2, les dix premiers termes seront :
* 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
* En considérant les termes de la séquence de Fibonacci dont les valeurs n'excèdent pas quatre millions,
* trouvez la somme des termes ayant une valeur paire.*/
public class Solution {
public static void main(String args[]) {
int lastNum1 = 0;
int lastNum2 = 0;
int currentNumEven = 0;
int currentNum = 1;
int sumEven = 0;
boolean last = true;
System.out.println("HI");
while(currentNum < 4000000);
System.out.println("LOOP");
currentNum = currentNum + (lastNum1 + lastNum2);
if(last) {
lastNum1 = currentNum;
last = !last;
} else {
lastNum2 = currentNum;
last = !last;
}
if(currentNum % 2 == 0) {
currentNumEven = currentNum;
sumEven += currentNum;
System.out.println(currentNumEven);
System.out.println(currentNum);
}
if(currentNum < 4000000) {
currentNum++;
} else {
System.out.println("Somme de toutes les valeurs paires de Fibonacci : " + sumEven + "\n Dernier nombre pair de la séquence inférieur à 4 000 000 : " + currentNumEven);
}
}
}