我原本是这样写的
text = input.nextLine();
for (int i = 0; i < keyword.length; i++) {
if(text.contains(keyword[i])) {
System.out.println("tell me more about " + keyword[i] + "..");
}
但是这样的话如果我有keyword abc 和cba
如果我输入了:cba abc
它还是先会得到abc 因为abc 在数组里第一个出现
请问怎么改善这个情况使先得出的内容是句子里先出现的呢 谢谢
/*
醉了,看了好久:
你思路:你输入的为一整排字符串,与另外一排整排字符串进行对比
需要找出与你,输入第一次字符串里面的一个小部分,与另外整排字符串中的一小部分进行匹配,
拿到第一次匹配到的!
你这么做就简单,切割一下,切成字符串数组,然后拿你输入后的结果去匹配目的地字符串就可以
*/
import java.util.Scanner;
public class InputTest {
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
//数组!
String[] srr= {"keyword","abc","cba"};
//输入!
String[] trr=sc.nextLine().split(" ");
for(int i=0;i<trr.length;i++) {
for(int j=0;j<srr.length;j++) {
if(srr[j].equals(trr[i])) {
System.out.println(trr[i]);
return;
}
}
}
}
}追问
醉了,看了好久:
你思路:你输入的为一整排字符串,与另外一排整排字符串进行对比
需要找出与你,输入第一次字符串里面的一个小部分,与另外整排字符串中的一小部分进行匹配,
拿到第一次匹配到的!
你这么做就简单,切割一下,切成字符串数组,然后拿你输入后的结果去匹配目的地字符串就可以
*/
import java.util.Scanner;
public class InputTest {
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
//数组!
String[] srr= {"keyword","abc","cba"};
//输入!
String[] trr=sc.nextLine().split(" ");
for(int i=0;i<trr.length;i++) {
for(int j=0;j<srr.length;j++) {
if(srr[j].equals(trr[i])) {
System.out.println(trr[i]);
return;
}
}
}
}
}追问
应该也是一模一样的 但是怎么还是闲的出的abc
贴一下你现在的代码,完整的,要上班啦...要就赶快哦!
温馨提示:答案为网友推荐,仅供参考