Java 编译时出现意外类型

Java 编译时出现意外类型,java,types,compilation,int,Java,Types,Compilation,Int,我用JAVA编写了以下代码: import java.util.Scanner; public class Equations { public static void main (String [] args) { Scanner scan = new Scanner (System.in); System.out.println ("This program solves a system of 2 l

我用JAVA编写了以下代码:

import java.util.Scanner;

public class Equations
    {
        public static void main (String [] args)
        {
            Scanner scan = new Scanner (System.in);
            System.out.println ("This program solves a system of 2 linear  equations" +"\n"+
        "Enter the coefficients a11 a12 a21 a22 b1 b2:");

            int a11 = scan.nextInt();
            int a12 = scan.nextInt();
            int a21 = scan.nextInt();
            int a22 = scan.nextInt();
            int b1 = scan.nextInt();
            int b2 = scan.nextInt();

            System.out.println ("Eq: " + a11 + "*x1" + "+" + a12 + "*x2 = " + b1);
            System.out.println ("Eq: " + a21 + "*x1" + "+" + a22 + "*x2 = " + b2);

            if(((a11*a22)-(a12*a21)) != 0){
                double Equ1single = ((b1*a22)-(b2*a12))/((a11*a22)-(a12*a21));
                double Equ2single = ((b2*a11)-(b1*a21))/((a11*a22)-(a12*a21));
                System.out.println ("Single solution: (" + Equ1single + "," + Equ2single + ")");
            } 

            if(((b2*a11)-(b1*a21)) = 0){
                System.out.println ("Many solutions");
            }

       }
}
在BlueJay环境中编译此代码时出错。 错误如下:

意外类型。所需变量;找到了价值

它将“-(b1*a21)”标记为问题。但我确实将a21声明为int。而且,前面的“if”条件是“相同”的,不会给出任何错误

编译这个有什么问题

if(((b2*a11)-(b1*a21)) = 0){
应该是

if(((b2*a11)-(b1*a21)) == 0){

尝试使用2
=
例如
如果(((b2*a11)-(b1*a21))==0){
=
是赋值,
=
用于比较。您必须使用==而不是=.==是相等性的测试,=将右侧sie中表达式的结果分配给左侧的变量。请在注释中回答此问题,并投票以打字错误结束。@SotiriosDelimanolis,我不知道为什么?这是一个有效的question,有一个有效的答案。这可能是一个重复的问题,但我想这不是一个无效的问题?这是一个由打字错误引起的问题。对我来说,他们显然想使用
=
。我不希望我们鼓励这些问题,也不想回答它们。IMO(我现在没有投票权,否则我会投票结束这个问题。)