Hier sind die Anweisungen aus meiner Klasse:Wie kann ich meinen Chatbot eine leere Antwort erkennen lassen? Wie kann ich mit mehreren Räumen arbeiten?
Derzeit gibt das Programm eine zufällige Antwort, wenn der Benutzer nichts eingibt. Machen Sie es so, dass eine leere Eingabe bewirkt, dass das Programm mit "Bitte etwas sagen" antwortet. Um Ihnen dabei zu helfen, lernen Sie, was die trim() -Methode aus der String-Klasse macht. (Schauen Sie es in Ihrem Lehrbuch oder online nach.) Beachten Sie, dass Sie eine leere Zeichenfolge als Ergebnis erhalten, wenn Sie eine Zeichenfolge mit allen Leerzeichen zuschneiden(). Verwenden Sie dies, um sicherzustellen, dass Sie angemessen reagieren, wenn der Benutzer drei Leerzeichen eingibt!
Code:
public class Magpie2
{
/**
* Get a default greeting
* @return a greeting
*/
public String getGreeting()
{
return "Hello, let's talk.";
}
/**
* Gives a response to a user statement
*
* @param statement
* the user statement
* @return a response based on the rules given
*/
public String getResponse(String statement)
{
String response = "";
if (findKeyword(statement,"no") >= 0)
{
response = "Why so negative?";
}
else if (findKeyword(statement,"mother") >= 0
|| findKeyword(statement,"father") >= 0
|| findKeyword(statement,"sister") >= 0
|| findKeyword(statement,"brother") >= 0)
{
response = "Tell me more about your family.";
}
else if (findKeyword(statement,"cat") >= 0
|| findKeyword(statement,"dog") >= 0)
{
response = "Tell me more about your pets.";
}
else if (findKeyword(statement,"Levine") >= 0)
{
response = "Tell me more about your instructor.";
}
else if (findKeyword(statement,"phone") >= 0
|| findKeyword(statement,"cellphone") >= 0
|| findKeyword(statement,"iphone") >= 0)
{
response = "I'm smarter than your phone.";
}
else if (findKeyword(statement,"I want to") >= 0)
{
}
else
{
response = getRandomResponse();
}
return response;
}
Wie sollte es in Code aussehen? sonst if (statement.trim ("")> = 0) scheint nicht zu funktionieren – V4k4
trimmen einer Methode für String-Klasse, die keine Parameter akzeptiert. https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim() Sie wollen sich die API anschauen. Es sieht auch so aus, als ob Sie versuchen, die Länge zu vergleichen, was wie folgt geschehen würde: statement.trim(). Length() == 0 –