public class meaingCompare {
public static void main(String[] args) {
int cnt = 0;
String st1, u, st2;
st2 = "funny";
int n = 5;
System.out.println("Enter the string");
Scanner in=new Scanner(System.in);
st1 = in.nextLine();
String[] v = st1.split("\\s+");
for(int i = 0; i < st1.length(); i++) {
if(v[i].equalsIgnoreCase(st2))
cnt++;
}
if(cnt>=4)
System.out.println(" match found");
}
}
我只是java的初学者。如果输入字符串中的no:of words匹配单词funny大于4但是if循环不起作用,我希望得到匹配的输出。
答案 0 :(得分:2)
你在for循环中的停止条件是错误的:因为你在字符串数组v
上循环,你应该在到达最后一个元素时停止。修改:
for(int i=0;i<st1.length();i++)
为:
for(int i=0;i<v.length;i++)
答案 1 :(得分:0)
当由于此 st1.length()遍历时,我们得到ArrayIndexOutofBoundException,因此与数组长度而不是字符串长度进行比较。 这有效:
INNER JOIN
答案 2 :(得分:0)
首先,没有if
循环这样的东西。你有一个for
循环。
您的问题是在for循环中,检查i
是否小于String st1的长度。但是,您需要检查I
是否小于数组v
的长度。所以,改变这个陈述:
for(int i = 0; i < st1.length(); i++)
到此:
for(int i = 0; i < v.length; i++)
希望这会有所帮助。