Fonction recomencer java

[Résolu/Fermé]
Signaler
-
 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



2 réponses

Messages postés
4106
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
15 septembre 2021
1 467
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 :

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
Merci de ta réponse, mais je connaissais ces fonction.
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?
Messages postés
9367
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 342
Si la condition est seulement deux boucles, il y en a-t-il d'autres?

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++
Je connais pas du tout ça, je vais voir sur internet!
Merci
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
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:
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);
    // ...
}
En effet, j'ai que janvier qui s'affiche, donc incrémenter ça veut dire quoi? :D
j'ai rien compris à l string et args l ! maisc'est pas grave.

Et oui je sais que c'est petit à petit !! :)
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
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
Je sais qu'il faut mettre a++, mais si je fais ça:
int a =0;
for(int i=1;i<=30;i=i+1){
a = a+1;

ça me et autant de "a" que de "i", à savoir, 30.
Alors que moi je voudrais que a=2 et i=30

après fonction pour recommencer le programme

a=3 et i=30

idem

a=4 i=30

idem

a=5 i=30
.
.
.
jusque

a=12 et i=30

je suis claire ? :S
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
Depuis tout à l'heure on te parle de faire DEUX boucles, une sur les jours, et une sur les mois, or là tu n'en fais qu'une donc c'est normal que ça ne fasse pas ce que tu veux !
Haha c'est bon merci, programme fini!

;D