public class Minion{
public static void main(String args[]){
//Initialization
boolean endloop=false;
Scanner antwort = new Scanner(System.in);
Scanner currentline;
// Begruessung
System.out.println("Hallo");
// Schleife
while (!endloop){
currentline=new Scanner(antwort.nextLine().toLowerCase());
if (currentline.findInLine("minion herunterfahren")==null)
System.out.println(respond(currentline)); //Antwort
else {
System.out.println("Auf wiedersehen."); //Exit
endloop=true;
}
}
}
// Input
private static String respond(Scanner s){
HashMap<String,String[]> responses = new HashMap<String,String[]>();
String[] temp0={"Könnten Sie das vielleicht ein wenig ausführlicher erklären?",
"Würden Sie das ein weniger ausführlicher erklären?",
"Ich kann Ihnen leider nicht ganz folgen. Könnten Sie das ausführlicher erklären?",
"Ich verstehe das leider nicht, würden Sie es ein weniger ausführlicher erklären?",
"Ich verstehe Sie nicht."
};
responses.put("NOTFOUND", temp0);
String[] temp1={"Könnten Sie ein Beispiel dafür nennen?",
"Haben Sie das dafür ein Beispiel?"};
responses.put("immer", temp1);
String[] temp2={"Ist das der wahre Grund?"};
responses.put("weil", temp2);
responses.put("wegen", temp2);
String[] temp3={"Niemals entschuldigen, das ist ein Zeichen von Schwäche."};
responses.put("es tut mir leid", temp3);
responses.put("sorry", temp3);
responses.put("entschudigung", temp3);
String[] temp4={"Wirklich Sicher scheinen Sie da nicht zu sein."};
responses.put("vielleicht", temp4);
responses.put("eventuell", temp4);
String[] temp5={"Denken Sie das wirklich?"};
responses.put("ich denke", temp5);
String[] temp6={"Ich w\u00fcrde es vorziehen, wir blieben beim Sie.",
"Wir sind nicht per Du."};
responses.put("du", temp6);
String[] temp7={"Warum denken Sie das?",
"Warum sind Sie davon überzeugt?"};
responses.put("ja", temp7);
responses.put("selbstverständlich", temp7);
responses.put("natürlich", temp7);
String[] temp8={"Warum nicht?",
"Warum glaube Sie das nicht?"
};
responses.put("nein", temp8);
responses.put("auf keinen Fall", temp8);
responses.put("nee", temp8);
responses.put("niemals", temp8);
String[] temp9={"Es tut mir Leid zu hören, dass Sie * sind.",
"Wie lange sind Sie schon *?",
"Können Sie sich vorstellen, dass es normal ist * zu sein?",
"Wie fühlen Sie sich dabei, * zu sein?"
};
responses.put("ich bin", temp9);
String[] temp10={"Erzählen Sie mir mehr über das Gefühl.",
"Fühlen Sie sich oft *?",
"Mögen Sie es,sich * zu fühlen?"
};
responses.put("ich fühle mich", temp10);
String[] temp11={"Erzählen Sie mir mehr über ihre Arbeit.",
"Wie kommen Sie mit ihrer Arbeit zurecht?",
"Ist ihre Arbeit wichtig für Sie?"
};
responses.put("arbeit", temp11);
responses.put("arbeiten", temp11);
responses.put("schaffen", temp11);
String[] temp12={"Träumen Sie oft davon",
"Was könnte dieser Traum bedeuten?",
"Wer taucht ih Ihrem Traum auf?"
};
responses.put("traum", temp12);
responses.put("albtraum", temp12);
String[] temp13={"Wie kann ich helfen?"
};
responses.put("hallo", temp13);
String[] keywords={"immer","weil","wegen","es tut mir leid", "sorry",
"entschuldigung", "vielleicht", "eventuell", "ich denke",
"du", "ja", "selbstverständlich", "natürlich",
"auf keinen Fall", "nein", "nee", "niemals", "ich bin",
"ich fühle mich", "arbeit", "arbeiten", "schaffen", "traum",
"albtraum", "hallo"};
//Variablen
String response="";
String[] response_array={""};
boolean found=false;
String currentkeyword="";
/* Loop through keywords */
for(int i=0; i<keywords.length;i++){
if ((s.findInLine(currentkeyword=(String)keywords**)!=null)
&& (responses.get(currentkeyword)!=null)){
found=true;
response_array=(String[])responses.get(currentkeyword);
response=response_array[(int)((response_array.length-1)*
Math.random())];
if (response.indexOf('*')!=-1){
String remaining_input;
if (s.hasNext() &&
(remaining_input=s.nextLine().trim())!=null){
response = response.substring(0,response.indexOf('*'))+
remaining_input
.substring(0,remaining_input.length()-1)
+ remaining_input
.substring(remaining_input.length()-1,
remaining_input.length())
.replaceAll("[^A-Za-z]", "") +
response.substring(response.indexOf('*')+1,
response.length());
response=response.trim();
}
else
response=response.replaceAll("
[li]","");
[/li] }
}
}
// Kein Schluesselwort
if (!found){
response_array=(String[])responses.get("NOTFOUND");
response=response_array[(int)((response_array.length-1)*
Math.random())];
}
return response;
}
}