Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 27-12-2014 12:27:34

aminemoi
Membre
Inscription : 25-11-2014
Messages : 17

Traduction en Java

Salut à tous

j'ai compris auparavant comment écrire un algo de PPCM en moe simplifié
mais quand j'ai essayé de le traduire en Java en utilisant eclipse j'ai commis pas mal de fautes
et j'espère que vous m'aidez

aE0OLg.png

y5mM36.png

Hors ligne

#2 27-12-2014 14:11:00

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 944

Re : Traduction en Java

Salut,

Une image pour du texte, c'est pas top !
Il y a la balise code pour ça...
Bon, tu ne te manifestais pas alors, je n'ai pas corrigé mes propositions sur un point précis.
J'ai écrit (ici :   
http://www.bibmath.net/forums/viewtopic … 485#p49485. D'ailleurs pourquoi ouvrir une nouvelle discussion ?)
Tant que a <> b
       si a > b alors
             b=b+d
       sinon si a<b
             a=a+c
Fin tant que

Pourquoi, parce qu'au premier abord je craignais qu'avec un sinon seul, on boucle sans arrêt dans le cas où a = b...
En fait non !
Pourquoi ?
Parce que dans le cas Tant que, si la condition a !=b n'est plus vérifiée alors c'est que a = b et on sort de la boucle.
Supposons que l'on vienne de modifier a ou b et que l'on ait a = b
Immédiatement après, le Tant que constate que sa condition n'est plus vérifiée et on sort de la boucle.
Donc le cas a = b ne peut pas se présenter dans le sinon et la précision : if a < b est inutile.
Mais ça, c'est un détail.

Par contre, j'ai été fort surpris qu'en java l'opérateur d'affectation soit == : j'ai donc vérifié, c'est faux. C'est un simple =
== c'est l'opérateur de test d'égalité : if a == b...
int a, b, c, d ;
    system.out.println("Entrez a et b");
    a=new.java.util.Scanner(System, in)nextInt();
    b=new.java.util.Scanner(System, in)nextInt();
    c=a
    d=b
    while (a!=b){
        if (a>b){
             b=b+d;
        }
        else;
             a=a+c;
        }
    }
    system.out.println("Le PPCM est :");
    system.out.println(a);

Autre erreur.
Tu écris : system.out.println("a");
Si tu mets des guillemets ce n'est plus la variable a qui sera affichée mais la lettre a

@+

Et inutile d'ouvrir une autre une autre discussion pour répondre, hein, cette fois ! ^_^


Arx Tarpeia Capitoli proxima...

En ligne

#3 27-12-2014 14:47:05

aminemoi
Membre
Inscription : 25-11-2014
Messages : 17

Re : Traduction en Java

Mercii Mr Yoshi
ms il reste un probleme au niveau des deux dernieres lignes

    system.out.println("Le PPCM est :");
    system.out.println(a);

Ma3DFB.png

Hors ligne

#4 27-12-2014 15:27:38

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 944

Re : Traduction en Java

Re,

A mon avis, ces deux lignes sont correctes, le problème que tu rencontres ne  (lequel ?) ne vient pas de là...
Depuis le while je compte
2 accolades ouvrantes {4 accolades fermantes.
Je n'ai jamais programmé en java, mais ça me choque...
Donc j'ai cherché et voilà ce que j'ai trouvé :

if (condition) {
    // instructions à exécuter
} else {
    // instructions à exécuter si la condition n'est pas remplie
}

Essaie donc :
int a, b, c, d ;
    system.out.println("Entrez a et b");
    a=new.java.util.Scanner(System, in)nextInt();
    b=new.java.util.Scanner(System, in)nextInt();
    c=a;
    d=b;
    while (a!=b){
        if (a>b){
             b=b+d;
        }
        else {
             a=a+c;
        }
  }
    system.out.println("Le PPCM est :");
    system.out.println(a);

Il me semble qu'il manquait aussi des points-virgules après c=a et d=b

@+


Arx Tarpeia Capitoli proxima...

En ligne

#5 27-12-2014 16:29:45

aminemoi
Membre
Inscription : 25-11-2014
Messages : 17

Re : Traduction en Java

Merci bouceaup, c'est résolu
a propos des accolades
voilà
GFaMuo.png

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt dix moins onze
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums