Fonction recomencer java
Résolu
Mokmok01
-
mokmok01 -
mokmok01 -
Bonjour,
Je programme sur ma calculette Casio 35+ et je suis depuis peux passer au java. Sur Casio il y a une fonction qui permet de recommencer un programme ou l'on veux:
Lbl 0
.
.
. // Notre programme
.
.
Goto 0
je cherche cette même fonction sous Java, elle existe?
D'avance merci
Je programme sur ma calculette Casio 35+ et je suis depuis peux passer au java. Sur Casio il y a une fonction qui permet de recommencer un programme ou l'on veux:
Lbl 0
.
.
. // Notre programme
.
.
Goto 0
je cherche cette même fonction sous Java, elle existe?
D'avance merci
A voir également:
- Fonction recomencer java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Fonction si et - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
2 réponses
C'est une boucle, l'une des bases de la programmation au même titre que les variables et les conditions :).
En Java, c'est :
Le (1) est un booléen (true/false). While signifie "tant que". Donc, tant que c'est vrai, ça répète.
Tu peux aussi (et surtout) faire des tests sur des variables. Par exemple, while (test == 1) fera se répéter tant que la variable test sera égale à 1.
Plus d'infos : https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java?archived-source=26832
En Java, c'est :
while (1) { Code à répéter }
Le (1) est un booléen (true/false). While signifie "tant que". Donc, tant que c'est vrai, ça répète.
Tu peux aussi (et surtout) faire des tests sur des variables. Par exemple, while (test == 1) fera se répéter tant que la variable test sera égale à 1.
Plus d'infos : https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java?archived-source=26832
Ce que tu cherches à faire ce sont des label/goto, qui ont été vivement critiqués en 1968 par Dijkstra. Depuis, la plupart des langages de programmation ont supprimés ces label/goto pour mettre en place une nouvelle structure de code, basé sur l'utilisation de fonctions/procédures/méthodes.
Exemple en Java:
Exemple en Java:
public static void afficher(String mois, int nbJours) { for (int jour=1; jour<=nbJours; jour++) System.out.printf("%d %s\n",jour,mois); } public static void main(String[] args) { afficher("Janvier",31); afficher("Février",28); afficher("Mars",31); // ... }
C'est quoi public static void?
Args?
int a = 0;
int b = 1;
int c = 2;
int d = 3;
String mois[] = {" janvier"," fevrier"," mars"," avril"};
int dates[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
for(int i =0; i<32;i++){
System.out.print(dates [i]);
System.out.println(mois [a]);
}
}
mais il plante quand j'introduit d'autre mois
Args?
int a = 0;
int b = 1;
int c = 2;
int d = 3;
String mois[] = {" janvier"," fevrier"," mars"," avril"};
int dates[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
for(int i =0; i<32;i++){
System.out.print(dates [i]);
System.out.println(mois [a]);
}
}
mais il plante quand j'introduit d'autre mois
"C'est quoi public static void? Args?"
Ce n'est pas très important de le savoir si tu débutes, mais il ne faut pas les oublier parce que sinon ton programme ne pourra pas fonctionner.
"mais il plante quand j'introduit d'autre mois"
C'est parce que t'as eu de la chance qu'il n'ait pas planté avant !
Si tu es habitué à la programmation sur calculatrice, alors commence par faire le code sur ta calculatrice avant de le transposer en Java, parce que là ton code n'a ni queue ni tête. Ce n'est pas parce qu'il n'y a pas label/goto en Java que l'on doit écrire ça n'importe comment, bien au contraire !
Ce n'est pas très important de le savoir si tu débutes, mais il ne faut pas les oublier parce que sinon ton programme ne pourra pas fonctionner.
"mais il plante quand j'introduit d'autre mois"
C'est parce que t'as eu de la chance qu'il n'ait pas planté avant !
Si tu es habitué à la programmation sur calculatrice, alors commence par faire le code sur ta calculatrice avant de le transposer en Java, parce que là ton code n'a ni queue ni tête. Ce n'est pas parce qu'il n'y a pas label/goto en Java que l'on doit écrire ça n'importe comment, bien au contraire !
System.out.println(mois [a]);
Hmm si tu n'incrémentes jamais A, ça ne marchera pas. Tu n'auras que Janvier qui s'affiche.
Si tu mets tout en tableau, alors il ne faut pas faire
for(int i =0; i<32;i++){
Mais utiliser la taille du tableau pour la valeur max de i comme ça :
for(int i =0; i<dates.length;i++){
Cette fonction : public static void main(String[] args)
Est la fonction première du programme, à savoir celle qui sera exécutée au lancement du programme.
Args correspond aux argument qui sont passés au programme. Exemple :
java -cp . MonProgramme argument1 argument 2
Ici le tableau args contiendra argument1 et argument 2, comme si on l'avait écrit ainsi :
String[] args = {"argument1","argument2"};
Cette écriture est nécessaire, mais non utile dans ton cas.
PS : KX, j'ai bien songé à faire comme toi, mai il y a la contrainte des deux boucles. Faut ben apprendre piti à piti ;-)
Hmm si tu n'incrémentes jamais A, ça ne marchera pas. Tu n'auras que Janvier qui s'affiche.
Si tu mets tout en tableau, alors il ne faut pas faire
for(int i =0; i<32;i++){
Mais utiliser la taille du tableau pour la valeur max de i comme ça :
for(int i =0; i<dates.length;i++){
Cette fonction : public static void main(String[] args)
Est la fonction première du programme, à savoir celle qui sera exécutée au lancement du programme.
Args correspond aux argument qui sont passés au programme. Exemple :
java -cp . MonProgramme argument1 argument 2
Ici le tableau args contiendra argument1 et argument 2, comme si on l'avait écrit ainsi :
String[] args = {"argument1","argument2"};
Cette écriture est nécessaire, mais non utile dans ton cas.
PS : KX, j'ai bien songé à faire comme toi, mai il y a la contrainte des deux boucles. Faut ben apprendre piti à piti ;-)
incrémenter, ça veut dire "ajouter 1", c'est à dire que quand tu es à janvier, il faut à un moment passer à février, puis à mars (et ça repart ^^). Par exemple i++ incrémente i, ce qu'il faut c'est faire a++ aussi.
Cependant ton tableau "dates" ne sert à rien, parce que dates[i] c'est exactement pareil que i tout seul !
PS : j'ai fait une fonction pour souligner la différence fondamentale qu'il y avait entre la structure des programmes avec et sans les label/goto. Parce que deux boucles ça se fait très bien sur une calculatrice, alors que les fonctions n'existent pas.
Remarque : il faudrait quand même voir à ne pas oublier que tous les mois n'ont pas 31 jours :p
Cependant ton tableau "dates" ne sert à rien, parce que dates[i] c'est exactement pareil que i tout seul !
PS : j'ai fait une fonction pour souligner la différence fondamentale qu'il y avait entre la structure des programmes avec et sans les label/goto. Parce que deux boucles ça se fait très bien sur une calculatrice, alors que les fonctions n'existent pas.
Remarque : il faudrait quand même voir à ne pas oublier que tous les mois n'ont pas 31 jours :p
En fait j'ai un calendrier de l'année a faire en seulement deux boucle:
Comme c'est la première fois on doit avoir que des mois de 30 jours chacun, j'ai donc fais janvier:
void main(){
for(int i=1;i<=31;i=i+1){
print(i);
println("janvier");}
}
Et c'est la que je voudrais faire: retourner au début et changer le nom du mois.
tu comprend?
Exemple pouvoir utiliser des tableaux.
Du genre :
public static void main(String...args)
{
String[] mois= {"Janvier","Fevrier", etc ....."};
for(int i=0;i<mois.length;i++)
{
for(int j=1;j<32;j++)
{
System.out.println(j+""+mois[i]);
}
}
}
Mais ton code ne ressemble pas trop à du java, plutôt à du c/c++
Merci