Problèm avec les tableau en java
Fermé
nah01
Messages postés
75
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
2 novembre 2012
-
31 mars 2009 à 09:30
nah01 Messages postés 75 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 2 novembre 2012 - 31 mars 2009 à 10:55
nah01 Messages postés 75 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 2 novembre 2012 - 31 mars 2009 à 10:55
A voir également:
- Problèm avec les tableau en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Tableau word - Guide
- Tableau ascii - Guide
- Tableau croisé dynamique - Guide
3 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
31 mars 2009 à 10:07
31 mars 2009 à 10:07
C'est simplement car vous dépassez la taille de votre tableau. En effet, en Java la première case du tableau est celle d'indice 0. Donc quand dans votre première boucle i=7 ça ne peut pas fonctionner surtout que vous utilisez un J+1. Il y a une autre modification à faire pour que lorsque vous arrivez sur dimanche, il ressorte lundi
for(int i=0;i<7;i++){
if(D.jour==J[i])
if (i==6)
D.jour=J[0];
else
D.jour=J[i+1];
}//for i..
Voici pour les jours. Vous pouvez enlever les accolades lorsque la condition contient uniquement un élément que ce soit une instruction ou une autre condition mais pensez à marquer l'indentation (ce que je ne peux pas faire ici)
pour les mois je ne comprend pas trop votre logique, normalement on passe au mois suivant uniquement si on atteint le dernier jour du mois alors expliquez-moi
for(int i=0;i<7;i++){
if(D.jour==J[i])
if (i==6)
D.jour=J[0];
else
D.jour=J[i+1];
}//for i..
Voici pour les jours. Vous pouvez enlever les accolades lorsque la condition contient uniquement un élément que ce soit une instruction ou une autre condition mais pensez à marquer l'indentation (ce que je ne peux pas faire ici)
pour les mois je ne comprend pas trop votre logique, normalement on passe au mois suivant uniquement si on atteint le dernier jour du mois alors expliquez-moi
nah01
Messages postés
75
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
2 novembre 2012
4
31 mars 2009 à 10:17
31 mars 2009 à 10:17
merci à toi nookz pour les tableaux
en ce qui concerne les mois je n'avais pas encore achevé le traitement je vais le faire tout à l'heure et je te ferais signe.
au fait je ne comprend pas bien quand vous dites que je peux enlever les accolades svp expliquez bien
merci d'avances
en ce qui concerne les mois je n'avais pas encore achevé le traitement je vais le faire tout à l'heure et je te ferais signe.
au fait je ne comprend pas bien quand vous dites que je peux enlever les accolades svp expliquez bien
merci d'avances
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
31 mars 2009 à 10:36
31 mars 2009 à 10:36
Et bien les accolades servent à définir le groupe d'instructions qui sont concernées par l'élément avant les accolades (élément qui peut être une condition, une classe, une méthode, une fonction, une boucle etc...)
Donc quand il y a une seule ligne de code que vous mettiez :
if (condition) {
int i=0;
}
int j=2;
comme seul int i=0; est affecté par la condition, c'est comme si vous écriviez
if (condition)
int i=0;
int j=2;
car alors la condition ne prendra en compte que la ligne directement en dessous.
Cependant une condition telle que
if(condition2)
else
est considérée comme une seule instruction dans son ensemble ainsi on peut écrire
if (condition1)
if (condition2)
int i=1;
else
int j=1;
mais on écrit
if (condition1) {
//ici commence linstruction de la condition2
if (condition2)
int i=1;
else
int j=1;
//ici finit l'instruction de la condition2
//ici commence l'instruction d'affectation
int k=3;
//ici finit l'instruction d'affectation
}
Donc quand il y a une seule ligne de code que vous mettiez :
if (condition) {
int i=0;
}
int j=2;
comme seul int i=0; est affecté par la condition, c'est comme si vous écriviez
if (condition)
int i=0;
int j=2;
car alors la condition ne prendra en compte que la ligne directement en dessous.
Cependant une condition telle que
if(condition2)
else
est considérée comme une seule instruction dans son ensemble ainsi on peut écrire
if (condition1)
if (condition2)
int i=1;
else
int j=1;
mais on écrit
if (condition1) {
//ici commence linstruction de la condition2
if (condition2)
int i=1;
else
int j=1;
//ici finit l'instruction de la condition2
//ici commence l'instruction d'affectation
int k=3;
//ici finit l'instruction d'affectation
}
nah01
Messages postés
75
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
2 novembre 2012
4
31 mars 2009 à 10:55
31 mars 2009 à 10:55
merci beaucoup!!!!
je te fais signe
je te fais signe