向后计数匹配字符数组的值Java

时间:2019-03-05 23:45:12

标签: java arrays

我试图计算在Java的同一位置中有多少个值,在两个数组之间进行比较时,该数组在数组中向后移动。因此,例如cat和bat数为2。因此,在从右到左开始的数组中查找匹配的值。我想每次比赛都增加分数。

我已经尝试过了,但是没有用。

for(int counter = Array1.length - 1; counter <= 0; counter--){
    if (Array1[counter] == Array2[counter]) {
        backwardsScore++;
    }
}

4 个答案:

答案 0 :(得分:0)

由于要递减计数,因此首先将循环固定为计数器> = 0,然后使用 Array1 [counter] .equals(Array2 [counter]),以便测试值是否相等。

使用Math.min(Array1.length,Array2.length)作为循环初始值。

要查看实际比较的内容,请在if之前添加以下内容: System.out.printf("%c %c", Array1[counter], Array2[counter]);

System.out.println("Found Match!");在if块内

答案 1 :(得分:0)

public class Test {

    public static void main(String[] args) {
        char[] arr1 = { 'h', 'e', 'l', 'l', 'o' };
        char[] arr2 = { 'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd' };

        int len = (arr1.length >= arr2.length) ? arr2.length : arr1.length;
        int backwardsScore = 0;
        for (int index = len - 1; index >= 0; index--) {
            if (arr1[index] == arr2[index]) {
                backwardsScore++;
            }
        }
        System.out.println(backwardsScore);
    }

}

答案 2 :(得分:0)

对于任何大小的数组:

public class GameManager1 : MonoBehaviour
{
    public GameObject cubePrefab;
    public Cube cubeComponent;    

    void Start()
    {
        cubeComponent.A = 10;
        GameObject spawnedCube = Instantiate(cubePrefab, Vector3.zero, Quaternion.identity);
        Debug.Log("A = " + spawnedCube.GetComponent<Cube>().A); //Prints 10
    }
}

这将从最小数组的最后一个索引开始。

答案 3 :(得分:0)

如何?

    String[] a1 = {"a","b","c","d","e"};
    String[] a2 =     {"b","a","d","e"};

    int time = Math.min(a1.length,a2.length);
    int count = 0;
    for(int i = 1; i <= time; i++){
        if(a1[a1.length-i] == a2[a2.length-i]){
            count++;
        }
    }
    System.out.println(count);