0

私はチャットボットプロジェクトに取り組んでおり、入力を入力するたびに、入力 X の長さに応じて複数の出力が返されるという事実を除いて、ほぼ完了しています。

ソースコードは次のとおりです。

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;
}

}

これは、チャット ボットをテストするためのものです。

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!
4

2 に答える 2