Bonjour , et bonne année je voudrai savoir comment je pourrai simplifier se code

Signaler
-
Messages postés
16150
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 janvier 2021
-
Bonjour, je voudrai savoir comment je pourrai simplifier se code en java
je débute le java j’ai commencer en décembre merci!! a tous

String m = ("tfk");
if (m == "lol"){
 System.out.println("ses un message de jeune");
}else if (m == "mdr"){
 System.out.println("ses un message de jeune");
} else if (m == "pk"){
 System.out.println("ses un message de jeune");
}else if (m == "tfk"){
 System.out.println("ses un message de jeune");
} else {
 System.out.println("on a pas décrit se message ");
}

et encore merci

4 réponses

Messages postés
15381
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 janvier 2021
642
Bonjour

tout d'abord, CCM dispose d'un outil pour rendre le code plus facile à lire.
Lit ceci attentivement https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et pense à remercier baladur d'avoir corrigé ton message.

Pour répondre à ta question, il me vient sans réfléchir 4 façons de simplifier ce code.
j’ai commencer en décembre
OK
Mais comment,
  • à l'école?
  • en autoformation en suivant un cours sur internet? (cours écrit, pas des vidéo, la très grande majorité sont mauvaises)
  • en autoformation au petit bonheur la chance? (très mauvaise idée, on passe forcément à coté de bases importantes)


En plus décembre c'est avant hier, si en 2 jours tu en es à écrit ce genre de code, tu n'as sans doute pas encore vu ces 4 "techniques" et auquel cas, c'est très bien de te poser la question. Dans ce cas, je vais te montrer la solution qui me paraît la plus appropriée dans ta progression:
utilise un opérateur booléen "ou" https://www.commentcamarche.net/contents/561-java-les-operateurs
Si tu ne sais pas ce qu'est un "ou booléen" alors lit ceci https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique)


Enfin, mais si ce code est un exercice pour l'école, ce qui ressort n'a rien à voir avec la programmation, c'est les fautes d'orthographe.
Coder ça n'est pas du français, pourtant c'est une compétence importante, il y a
  • les interactions avec l'utilisateur, les println dans ce cas, mais plus tard les menus,
  • les divers messages/alertes,
  • le contenu de site web,
  • la documentation,
  • l'aide en ligne,
  • les dialogues des jeux etc...

On ne te demandera pas d'être un parfait linguiste mais y'a un minimum.
Fais y attention à l'avenir.
merci beaucoup
pour répondre a tes questions

-j’ai commencé début décembre
- sur YouTube ( se qui n'est pas pratique car on a pas d'interaction avec la personne
- et je sais se que ses une valeur boléen ses une valeur true ou false
- j'aimerai prendre des cours en ligne mes je ne trouve rien
merci de tes conseille
bon je te laisse je vais lire un Bescherelle :)
Messages postés
15381
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 janvier 2021
642
Voici un des meilleurs cours de Java gratuit en français
https://java.developpez.com/livres-collaboratifs/javaenfants/

Là non plus tu n'as pas d'interaction avec l'auteur, contrairement à la très grande majorité des vidéo youtube, ce cours a été travaillé, corrigé relu par de nombreuses personnes avant sa mise en ligne

Sur youtube, 99.99% des vidéo n'ont même pas subie de post production, le gars mets 10 minutes à bafouiller, coder, se tromper, effacer, recommencer tout ça pour 3 lignes de codes. Il te faut ensuite mettre la vidéo sur pause pour copier les lignes en faisant bien attention à ne pas te tromper....
Tu n'imagines même pas le nombre de questions sur les forums où le demandeur n'a tout simplement pas recopier correctement le code et rien compris à l'explication (forcément 10 minutes de valse hésitation c'est pas très pédagogique....)

Attention, l'algèbre de Boole ne se résume pas à true et false, c'est un monde mathématique à part entière.
On n'est pas obligé de le maitriser pour coder, mais ça aide.
Messages postés
16150
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 janvier 2021
2 767
Bonjour,

Tout d'abord, l'opérateur == compare la référence de deux objets, pas leurs valeurs, il faut utiliser la méthode equals pour les objets.
if (m.equals("lol")) {
    System.out.println("c'est un message de jeune");
} else if (m.equals("mdr")) {
    System.out.println("c'est un message de jeune");
} else if (m.equals("pk")) {
    System.out.println("c'est un message de jeune");
} else if (m.equals("tfk")) {
    System.out.println("c'est un message de jeune");
} else {
    System.out.println("on n'a pas décrit ce message");
}

Quant à simplifier dans ton cas il pourrait y avoir plusieurs manières de faire.

1) modifier la condition du if avec des "ou"
if (m.equals("lol") || m.equals("mdr") || m.equals("pk") || m.equals("tfk")) {
    System.out.println("c'est un message de jeune");
} else {
    System.out.println("on n'a pas décrit ce message");
}

2) remplacer le if par un switch :
switch(m) {
    case "lol":
    case "mdr":
    case "pk"
    case "tfk":
        System.out.println("c'est un message de jeune");
        break;
    default:
        System.out.println("on n'a pas décrit ce message");
}

3) utiliser un tableau ou une collection :
List<String> jeunes = Arrays.asList("lol", "mdr", "pk", "tfk");
if (jeunes.contains(m)) {
    System.out.println("c'est un message de jeune");
} else {
    System.out.println("on n'a pas décrit ce message");
}