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

Fermé
mattiasel974 - Modifié le 2 janv. 2021 à 09:28
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 3 janv. 2021 à 11:49
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
A voir également:

4 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
2 janv. 2021 à 10:05
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://forums.commentcamarche.net/forum/affich-37622083-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.
0
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 :)
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
2 janv. 2021 à 11:09
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.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
3 janv. 2021 à 11:49
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");
}
0