首页 > 解决方案 > 计算两个相等变量之间布尔值的出现次数?

问题描述

当变量中的位置等于另一个变量中的位置时,我试图计算出现True在两个变量之间的数组中的出现次数,依此类推。11

我试过了:

public class another_test {
    
    public static void main(String[] args) {
        
        String[] x = new String[]{"win", "win", "lose"};
        String[] y = new String[]{"win", "lose", "lose"};
        int z=0;
        if(x.equals(y)) {
            z++;
        }
        System.out.println(z);  //output = 0
    }
    

我应该得到的答案是2,如何解决这个问题?

标签: javaarrays

解决方案


您可以执行以下操作:

public static void main(String[] args) {

    String[] x = new String[]{"win", "win", "lose"};
    String[] y = new String[]{"win", "lose", "lose"};
    int z=0;

    for (int i = 0; i < x.length && i < y.length; i++) {
        if(x[i].equals(y[i])) {
            z++;
        }
    }

    System.out.println(z);
}

另一种方法(功能):

    long z = IntStream.range(0, Math.min(x.length, y.length))
            .filter(i -> x[i].equals(y[i]))
            .count();

    System.out.println(z);

输出:

2

推荐阅读