java - 检查一个数组是否与java中的另一个数组相反

标签 java arrays

我正在尝试创建一个方法,该方法将 2 int 数组作为输入参数,如果数组是反向的则返回 true,否则返回 false。这是我目前所知道的,但这是错误的。

public static void main(String[] args)
{
    int b,a;
    int[] data1 = {14,-70,-18,88,85,97,-65,13,-71,-12};
    int[] data2 = {-12,-71,13,-65,97,85,88,-18,-70,14};
    boolean check = true;

    for (a=0;a<data1.length;a++)
    {
      for (b=data2.length-1;b>=0;b=b-1)
      {
                  if (data1[a] != data2[b])
                      check=false 
      }
    }
    System.out.println(check);
}

我的示例假设打印 true 但它没有。我假设 2 个数组的长度相同。谁能帮忙?

最佳答案

您不需要两个循环 - 您只需要循环一次,在一个数组中“正常”使用索引,并从另一端使用另一个数组:

public static boolean checkReversed(int[] x, int[] y)
{
    // For production code, possibly add nullity checks here (see comments)
    if (x.length != y.length)
    {
        return false;
    }
    // Loop through x forwards and y backwards
    for (int i = 0; i < x.length; i++)
    {
        if (x[i] != y[y.length - 1 - i])
        {
            // As soon as we've found a "mistake" we can exit:
            // This is simpler (IMO) than keeping a "check" variable
            return false;
        }
    }
    return true;
}

关于java - 检查一个数组是否与java中的另一个数组相反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384829/

相关文章:

java - 如何在java中创建列表的列表(list<classname>)

java - 将一个项目拆分成两个独立的项目有什么意义?

java - Android:适配器内的静态变量为空

javascript - 修改数组对象中的键字符串

javascript - 我有一个对象数组,我需要找到与特定值关联的人

javascript - ES6 .filter() 将返回一个没有特定字符串的对象数组

java - 我如何使用子字符串来消除 java 中的 0

java - 需要使用Java RMI创建发布者-订阅者

Java Socket 快速重连

javascript - 在递归函数中,在哪里存储结果?