HashMap contains() Methode

S

Sepialine

Mitglied
Moinsen,

Responder:
Java:
public class Responder {
  
    ArrayList   <String>                randomResponse;

    HashMap     <String, String>        map;
  
  
  
    /**
     * Construct a Responder
     */
    public Responder() {
      
        this.randomResponse = new ArrayList<>();
      
        this.map = new HashMap<>();
      
      
      
    }

    /**
     * Generate a response to the user's input.
     *
     * @return A string that should be displayed as the response
     */
    public String generateResponse(String input) {
      
    
        if(map.containsKey(input)) {
      
        return map.get(input);
      
        }
      
        else {
          
        Random randomGenerator = new Random();
        int randomNumber = randomGenerator.nextInt(randomResponse.size());
      
        return randomResponse.get(randomNumber); 
      
    }
  
    }
  
    /**
     * Saves a new response for random selection in cases
     * when none of the known keywords is found.
     */
    public void addSimpleResponse(String newResponse) {
      
            randomResponse.add(newResponse);
    
      
        }
    
  
    /**
     * Saves a new pair of keyword and response for cases
     * when the user inputs the given keyword.
     */
    public void addKeywordResponse(String keyword, String response) {
        //TODO: implement this method!
      
        map.put(keyword, response);
    }
  

 
    public void addSynonyms(String keyword, String... synonyms) {
      
      
      
    }
  
}

SupportSystem:
Java:
public class SupportSystem
{
    private InputReader reader;
    private Responder responder;
   
    /**
     * Creates a technical support system and sets predefined responses.
     */
    public SupportSystem()
    {
        reader = new InputReader();
        responder = new Responder();
        this.setResponses();
    }

    /**
     * Start the technical support system. This will print a welcome
     * message and enter into a dialog with the user, until the user
     * ends the dialog.
     */
    public void start()
    {
        boolean finished = false;

        printWelcome();

        while(!finished) {
            String input = reader.getInput();
            String input2 = input.trim();
            input2 = input2.toLowerCase();
           
           
           
           
           
           
            if(input2.startsWith("bye")) {
                finished = true;
            }
           
           
           
            else {
               
               
                String response = responder.generateResponse(input);
                System.out.println(response);
            }
        }
        printGoodbye();
    }

    /**
     * Print a welcome message to the screen.
     */
    private void printWelcome()
    {
        System.out.println("Welcome to the DodgySoft Technical Support System.");
        System.out.println();
        System.out.println("Please tell us about your problem.");
        System.out.println("We will assist you with any problem you might have.");
        System.out.println("Please type 'bye' to exit our system.");
    }

    /**
     * Print a good-bye message to the screen.
     */
    private void printGoodbye()
    {
        System.out.println("Nice talking to you. Bye...");
    }
   
    /**
     * Adds a number of predefined responses to the responder.
     */
    private void setResponses() {
        final String VISTA = "vista";
        final String LINUX = "linux";
        final String CRASH = "crash";
        final String GOOGLE = "google";

        responder.addKeywordResponse(VISTA, "That is a known problem. Upgrade to Windows 10.");
        responder.addKeywordResponse(LINUX, "Everything should be okay.");
        responder.addKeywordResponse(CRASH, "That is a known problem. Just restart your computer.");
        responder.addKeywordResponse(GOOGLE, "Sorry, this is a professional support system.");      
       
        responder.addSynonyms(VISTA, "wista", "windows xp", "windows 7", "windows 8");
        responder.addSynonyms(LINUX, "ubuntu", "fedora");
        responder.addSynonyms(CRASH, "shutdown");
        responder.addSynonyms(GOOGLE, "bing", "yahoo");
       
        responder.addSimpleResponse("That sounds interesting. Tell me more...");
        responder.addSimpleResponse("Nice. Can you give me some more information?");            
        responder.addSimpleResponse("Terrible! We'll help you soon. Anything else...?");
    }
       
}

Wenn man die Main Methode ausführt wird ein Support Ticket mit Eingabefeld simuliert. Wenn der User nun z.B. nur "Vista" eingibt bekommt er eine vorgegebene Antwort vom Support System. Ich will es nun so programmieren, dass wenn der User schreibt "Ich habe ein Problem mit Vista" das er über die Methode contain() erkennt das man ein Key Word im imput vorkommt und dann die vorgegebene Antwort gibt. Hat da jemand einen Lösungsansatz für mich?
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Du könntest die Eingabe Wort für Wort überprüfen.


Allerdings wirst du damit ziemlich schnell an die Grenzen kommen, zum Ausprobieren ist das Okay, aber für mehr nicht wirklch :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Hashmap zickt Java Basics - Anfänger-Themen 9
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
J HashMap Java Basics - Anfänger-Themen 5
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
O HashMap - ArrayList Java Basics - Anfänger-Themen 29
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
J Hashmap auslesen Java Basics - Anfänger-Themen 7
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
shiroX Methoden Morse-Code Übersetzer mit HashMap Java Basics - Anfänger-Themen 5
E HashMap Problem Java Basics - Anfänger-Themen 5
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
T HashMap und die Methoden Java Basics - Anfänger-Themen 13
N Methoden Interaktives PDF mit HashMap befüllen Java Basics - Anfänger-Themen 0
Z Hashmap auseinandernehmen und analysieren Java Basics - Anfänger-Themen 7
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
F HashMap oder welches Array? Java Basics - Anfänger-Themen 4
T HashMap Java Basics - Anfänger-Themen 24
L Hashmap mit variablem Key Java Basics - Anfänger-Themen 9
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
lgund HashMap // TS3 Query Java Basics - Anfänger-Themen 7
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
E Hashmap Wert auslesen Java Basics - Anfänger-Themen 2
S Printstream für einen Hashmap Loop Java Basics - Anfänger-Themen 1
dat_vin OOP Hashmap und Attribute Java Basics - Anfänger-Themen 7
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
R Hashmap in anderer Klasse nicht benutzbar Java Basics - Anfänger-Themen 1
T Java Hashmap Java Basics - Anfänger-Themen 3
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
K HashMap mit Daten aus ArrayList befüllen Java Basics - Anfänger-Themen 14
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
O HashMap Fragen Java Basics - Anfänger-Themen 8
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
M Semantisches Problem HashMap/Netzwerk Java Basics - Anfänger-Themen 4
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
M HashMap keys ausgeben Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
G HashMap Java Basics - Anfänger-Themen 6
F Wortpaare - HashMap - ArrayList Java Basics - Anfänger-Themen 6
M HashMap Frage Java Basics - Anfänger-Themen 3
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
A CSV Zeilenweise einlesen und in einer HashMap speichern Java Basics - Anfänger-Themen 12
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
F Hilfe bei der HashMap. Java Basics - Anfänger-Themen 3
F HashMap vs. TreeMap Java Basics - Anfänger-Themen 5
B HashMap Java Basics - Anfänger-Themen 9
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
V Hashmap Iterieren Java Basics - Anfänger-Themen 4
C Csv File in Hashmap ausgeben Java Basics - Anfänger-Themen 14
T HashMap<String,Object> Werte auslesen Java Basics - Anfänger-Themen 5
I HashMap sortieren Java Basics - Anfänger-Themen 10
I HashMap Java Basics - Anfänger-Themen 11
H Collections Brauche modifizierte HashMap Java Basics - Anfänger-Themen 6
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
A Datentypen Hashmap to Array Java Basics - Anfänger-Themen 11
D HashMap überschreibt Werte Java Basics - Anfänger-Themen 7
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
D erweiterte hashmap Java Basics - Anfänger-Themen 5
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
L HashMap zu JList Java Basics - Anfänger-Themen 6
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
F Collections ArrayList oder Hashmap mittel Collections.sychronised Java Basics - Anfänger-Themen 6
B Klassen HashMap Zwei Objekte, gleicher Key Java Basics - Anfänger-Themen 4
N HashMap fehlerhafte Rückgabe Java Basics - Anfänger-Themen 7
K Durch eine HashMap wandern? Java Basics - Anfänger-Themen 2
A Hashmap gefüllt mit Arrays. Nutzlos? Java Basics - Anfänger-Themen 6
K equals in Hashmap() Java Basics - Anfänger-Themen 4
D HashMap Java Basics - Anfänger-Themen 7
A HashMap.containtsKey Java Basics - Anfänger-Themen 15
I HashMap Parameter übergeben Java Basics - Anfänger-Themen 14
S Generische HashMap Java Basics - Anfänger-Themen 2
D Hashtable/Hashmap Java Basics - Anfänger-Themen 2
N HashMap<String, Object> bei jre4 Java Basics - Anfänger-Themen 3
F HashMap keySuche Java Basics - Anfänger-Themen 12
R JTabel + HashMap + Checkbox Java Basics - Anfänger-Themen 4
T Collections Werte aus einer HashMap auslesen, oder gehts auch einfacher ? Java Basics - Anfänger-Themen 6
T Liste in Hashmap Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben