Partage
  • Partager sur Facebook
  • Partager sur Twitter

"Énumérer" phrases

Sujet résolu
    12 août 2018 à 17:34:37

    Bonjour,

    J'ai besoin de vore aide :)) !!!!! 

    Je suis actuellement sur la création d'un "bot" capable de répondre a des questions/phrases predéfinis. J'aimerais savoir si il est possible d'énumerer des phrases par exemple pour le thèmes "ca va" (questions possibles : "Comment, ça va", "Ca va ?", "ca va?"...) et de vérifier si au moins une des ces phrases est la même que celle entrée dans la console avec if... Au lieu d'utiliser(qui est beaucoup trop long) :

    if(entrerconsole == "ca va?" || entrerconsole == "Ca va?" || entrerconsole == "Comment ca va?" ...)
    

    Je précise que ce seront des phrases et non simplement des mots.

    Voilà mon début de code :

    Class "Main":

    package main;
    
    import java.util.Scanner;
    
    public class Main {
    	
    	public static void main(String[] args){
    		
    	Scanner Claviera = new Scanner(System.in);
    	String Clavier = Claviera.nextLine();
    				
    			 new BonjourBonsoir(Clavier);
    			 new CaVaSexe(Clavier);
    	}
    }	

    Class "CaVaSexe" :

    package main;
    
    import main.enumeration.CaVa;
    
    public class CaVaSexe {
    	
    	public CaVaSexe(String Clavier) {
    		
    		if(CHERCHER DANS LES PHRASES ENUMERERS == Clavier) {
    			System.out.println("e");
    		}
    		return;
    	}
    }
    

    Je ne sais pas du tout comment m'y prendre... si il faut utiliser une class enum, un document txt...

    J'espère avoir été le plus clair possible.

    Merci à tout ceux qui me répondront :)).

    -
    Edité par Magic-Academy 12 août 2018 à 17:37:20

    • Partager sur Facebook
    • Partager sur Twitter
      12 août 2018 à 18:20:52

      Salut. Tu peux utiliser une ma pour ça.

      Map<String , String> map = new HashMap<>();
      map.put("ça va?" , "Réponse à donner");
      map.put("Comment ça va?" , "Réponse à donner");
      
      String res = map.get(entrerConsole);
      if(res != null)
      {
          System.out.println(res);
      }
      
      else
      {
          System.out.println("Je ne comprends pas!!!");
      }

      Ou si tu utilises Java 8

      System.out.println(map.getOrDefault(entrerConsole , "Je ne comprends pas"));


      Maintenant pour remplir ta map tu pourrais bien sûr utiliser un fichier, par ce que là ça va être pénible si tu as beaucoup de questions.

      -
      Edité par kulturman 12 août 2018 à 18:23:00

      • Partager sur Facebook
      • Partager sur Twitter
        12 août 2018 à 18:43:16

        kulturman a écrit:

        Salut. Tu peux utiliser une ma pour ça.

        Map<String , String> map = new HashMap<>();
        map.put("ça va?" , "Réponse à donner");
        map.put("Comment ça va?" , "Réponse à donner");
        
        String res = map.get(entrerConsole);
        if(res != null)
        {
            System.out.println(res);
        }
        
        else
        {
            System.out.println("Je ne comprends pas!!!");
        }

        Ou si tu utilises Java 8

        System.out.println(map.getOrDefault(entrerConsole , "Je ne comprends pas"));


        Maintenant pour remplir ta map tu pourrais bien sûr utiliser un fichier, par ce que là ça va être pénible si tu as beaucoup de questions.

        -
        Edité par kulturman il y a 10 minutes

        Merci énormement, mais peut tu m'indiquer comment créer un fichier ? Ou faut-il le déclarer etc...

        Merci encore ;)

        • Partager sur Facebook
        • Partager sur Twitter
          13 août 2018 à 14:05:14

          Le fichier tu le crées avec un éditeur de texte bien sûr :lol:. Il y a une seule réponse pour plusieurs questions possibles, c'est bien ça? Il y a probablement plus simple mais à première vue j'aurais organisé mon fichier comme ça.

          Je vais bien, et toi?#3
          Comment ça va?
          ça va?
          Comment tu te portes?
          Un simple Bot#2
          Qui es tu?
          A qui ai-je l'honneur?
          

          En lisant je vois que la première ligne est une réponse qui a 3 trois questions "possibles" ainsi je sais que les 3 prochaines lignes sont les questions associées à la réponse. Et ainsi de suite.

          Il te faut maintenant chercher comment lire un fichier en Java (google est ton ami) ;).

          -
          Edité par kulturman 13 août 2018 à 14:08:38

          • Partager sur Facebook
          • Partager sur Twitter
            13 août 2018 à 16:31:32

            Merci beaucoups :))

            1)Par contre je n'ai pas compris à quoi correspond le "#3".

            2)Merci de tes conseils, j'ai amméliorer mon code avec tes conseils... je peux te le montrer ?

            -
            Edité par Magic-Academy 13 août 2018 à 17:16:29

            • Partager sur Facebook
            • Partager sur Twitter
              14 août 2018 à 10:46:42

              1) Le  # c'est juste un séparateur, le 3 c'est pour savoir que les les 3 prochaines lignes sont des questions de la réponse en question.

              2) Oui tu peux me montrer.

              • Partager sur Facebook
              • Partager sur Twitter

              "Énumérer" phrases

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown