我试图计算在Java的同一位置中有多少个值,在两个数组之间进行比较时,该数组在数组中向后移动。因此,例如cat和bat数为2。因此,在从右到左开始的数组中查找匹配的值。我想每次比赛都增加分数。
我已经尝试过了,但是没有用。
for(int counter = Array1.length - 1; counter <= 0; counter--){
if (Array1[counter] == Array2[counter]) {
backwardsScore++;
}
}
答案 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);