很抱歉,如果这个问题重复,但我还没有找到答案。我想用java找到问题的类型。问题是我不知道如何从用户提交的问题中找到问题的类型。
例如:
Where is the Louvre Museum?
The type of this question is location.
有人知道怎么做吗?
答案 0 :(得分:1)
使用用户输入:
Scanner s = new Scanner(System.in)
询问输入问题:
System.out.println("Question:");
String[] q = s.nextLine().split(" "); //changing user input to word array
String w = q[0].toLowerCase();
检查问题词:
switch(w){
case "where":
//print out "this is a location question"
break;
case "who":
//print out "this is a who question"
break;
... //keep on doing this for all words
default:
//print out "this is not a valid question"
break;
}
如果有多个:
System.out.println("Question:");
String[] q = s.nextLine().split(" ");
List<String> a = Arrays.asList(q);
检查它是否包含问题词:
if(a.contains("Who"))
//print out "Who question"
if(a.contains("Where"))
//print out "Where question"
答案 1 :(得分:0)
您可以考虑使用字典列表,其中包含问题类型对以及与问题类型对应的特定子字符串,例如:
"yes/no", "is"
"location", {"where", "how far", "direction"}
"time", {"when", "how long"}
你明白了。在这种情况下,可以使用映射(例如HashMap)轻松完成:
HashMap <String, String[]> hm = new HashMap <String, String[]>();
您可以替换
String[]
与
ArrayList <String>
。