Maison > Questions et réponses > le corps du texte
1. Description du problème : restez dans une boucle infinie, imprimez à plusieurs reprises jusqu'à ce qu'une erreur se produise
2.Codes associés
int[] Aarray = new int[]{2,4,5,6,2};
int[] Barray = new int[]{3,6,2,4,6};
for (int i = 0 ;i < 10 ;i ++ )
{
if (i < 5)
{
System.out.print(Aarray[i] + "\t");
}
else
{
i -= 5;
System.out.print(Barray[i] + "\t");
}
}
女神的闺蜜爱上我2017-06-12 09:23:20
Quand i = 1, 2, 3, 4, n'en parlons plus, imprimons 1 2 3 4
Quand i = 5, entrez le bloc d'instructions else
i -= 5, qui est i = i-5. le résultat est i = 0, alors i++
Ensuite, je recommence à boucler à partir de 1. La condition de terminaison de la boucle for i < 10 ne peut jamais se terminer
扔个三星炸死你2017-06-12 09:23:20
i -= 5;
Est-ce une faute de frappe ?
À chaque passage dans la boucle, i++
把 i
加 1,但是 i -= 5
; 又把 i
diminue de 5.
怪我咯2017-06-12 09:23:20
Lorsque
i=5, si ne tient pas, entrez else,
finish i -= 5 ; le résultat est i=0
puis quittez else, après i++, i=1 ; = 5 heures
...
高洛峰2017-06-12 09:23:20
Simple, vous le comprendrez après avoir parcouru le programme dans votre esprit. Au début, i=0, qui est inférieur à 5, puis i++ atteint 1, continuez à être inférieur à 5, et sortez, et continuez comme si. ceci jusqu'à ce que i=5, alors i<5. Si elle n'est pas établie, prenez la branche else, i-=5 ; i est à nouveau inférieur à 0, puis il commence à entrer dans la boucle suivante comme au début, il y a donc un boucle infinie
欧阳克2017-06-12 09:23:20
Si vous regardez la situation de chaque valeur de i, cela sera clair en un coup d'œil. Quand i>5, i entre else, à ce moment-là, i redevient 0, ce qui signifie que je n'atteindrai jamais la fin de i>. ;10. Conditions de boucle
某草草2017-06-12 09:23:20
La logique est fausse. Après avoir ajouté à 6, soustrayez à nouveau 5, revenant à 1, puis ajoutez 1 à chaque fois. Après avoir ajouté à 6, soustrayez à nouveau 5, revenant à 1, et le cycle continue.
迷茫2017-06-12 09:23:20
Pour ce genre de question, il est recommandé de trouver un livre d'introduction ou de regarder une vidéo d'introduction de 10 minutes