Я работаю над проектом, чат Bot, и я почти сделал, кроме того факта, что всякий раз, когда я вхожу вход, он возвращает несколько выходов в зависимости от длины входного X.Chatbot возвращение ошибка
Вот исходный код:
import java.util.*;
public class ChatBot
{
public static String getResponse(String value)
{
Scanner input = new Scanner (System.in);
String X = longestWord(value);
if (value.contains("you"))
{
return "I'm not important. Let's talk about you instead.";
}
else if (X.length() <= 3)
{
return "Maybe we should move on. Is there anything else you would like to talk about?";
}
else if (X.length() == 4)
{
return "Tell me more about " + X;
}
else if (X.length() == 5)
{
return "Why do you think " + X + " is important?";
}
return "Now we are getting somewhere. How does " + X + " affect you the most?";
}
private static String longestWord(String value){
Scanner input = new Scanner (value);
String longest = new String();
"".equals(longest);
while (input.hasNext())
{
String temp = input.next();
if(temp.length() > longest.length())
{
longest = temp;
}
}
return longest;
}
}
Это для тестирования чат Bot:
import java.util.Scanner;
public class Test {
public static void main (String [ ] args)
{
Scanner input = new Scanner (System.in);
ChatBot e = new ChatBot();
String prompt = "What would you like to talk about?";
System.out.println(prompt);
String userInput;
userInput = input.next();
while (!userInput.equals("Goodbye"))
{
System.out.println(e.getResponse(userInput));
userInput = input.next();
}
}
}
I am also trying to modify the Bot so it counts the number of times it has responded; and also modify it so it randomly returns a random response depending on the length of the input. Any help will be much appreciated. Thank You!
Точнее: его не читать следующее слово, его просто разделение по умолчанию на пробелы. Поэтому, если пользователь вводит «bla test», он возвращает две разделенные строки. – Ben
Что делать, если я просто хочу, чтобы бот ответил так: о чем бы вы хотели поговорить? как дела? Я неважен. Давайте поговорим о вас вместо этого. Мне нравится программирование на Java Теперь мы куда-то попадаем. Как программирование влияет на вас больше всего? Ошибки заставляют меня грустить Расскажите подробнее о багах. они означают, что код неправильный – user3077721
@ user3077721 Если вы меняете 'input.next()' на 'input.nextLine()' в основном методе, это не то, что происходит? – MAV