qq_25642609
2017-04-18 14:27
采纳率: 50%
浏览 3.2k
已采纳

java if条件满足但是执行else语句

以下是代码:

for (int a = 0; a < m; a++) {
for (int b = 0; b < n; b++) {
boolean flag = w[a].equals(dic[b]);
if (flag) {
count[b]++;
break;
}
else System.out.println("?");
}
}

就是匹配两个String数组里的内容相同的并计数。调试显示flag为true,但是程序始终执行else语句,请大神帮忙解答。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • LinQiHong_ 2017-04-18 14:38
    已采纳

    不存在这个问题,

    String[] m={"a","b","c"};
    String[] n={"a","d","e"};
    int count=0;
    for (int a = 0; a < m.length; a++) {
    for (int b = 0; b < n.length; b++) {
    boolean flag = m[a].equals(n[b]);
    if (flag) {
    count++;
    System.out.println(m[a]);
    break;
    }
    else System.out.println("?");
    }
    }

    点赞 打赏 评论
  • LinQiHong_ 2017-04-18 14:39

    输出结果

    a
    ?
    ?
    ?
    ?
    ?
    ?
    匹配到第一个啦

    点赞 打赏 评论

相关推荐 更多相似问题