java - boolean 语句不起作用?

标签 java loops boolean

下面的代码我接受两个数组并比较它们。当两者相同时,我会显示正确的消息,但如果错误,则两条消息都会显示。显示最后一个 if 语句 System.out.println("identical"); 似乎总是显示,即使 boolean 值为 false。这是为什么????

public static void compareArrays(int[] a, int[] n){

  boolean b = false;
  for (int i = 0; i < n.length; i++) {
    if (n[i] == a[i]) {
        b = true;
    } else {
        b = false;
        System.out.println("different");
        break;
    }
  } 

  if (b = true){
    System.out.println("identical");
  } 
}

最佳答案

更改此:

if (b = true){
    System.out.println("identical");
} 

至:

if (b == true){
    System.out.println("identical");
} 

或更好

if (b){
    System.out.println("identical");
} 

您正在分配一个值而不是进行比较。

关于java - boolean 语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14899912/

相关文章:

java - 无法在flowers_tf_lite.ipynb colab中自定义_URL

c - fprint 不能在循环中工作

c++ - vector<bool> 如何处理引用和迭代器?

java - Maxima 中的基本类型 boolean 值

java - 了解线程

java - 将 XML 文件编码为 Java pojo/域对象

c - Printf 每行 4 项

javascript - 为什么这个 for-of 循​​环中的对象解构不起作用?

sql - Oracle SQL - 将 select count(*) 转换为零或一

java - 我的内存够用吗?