Java 如何使用AND定义IF语句

Java 如何使用AND定义IF语句,java,if-statement,Java,If Statement,我将三个值从main传递给一个函数。使用这些值,我将与IF语句进行比较。条件是必须同时验证所有三个参数以及AND&&语句 这是我传递值时的主要问题 public static void main(String args[]) { start(); goal(); load_truck("truck", "cdg", "p1"); } 这是接收它们的函数 public static void load_truck(String

我将三个值从main传递给一个函数。使用这些值,我将与IF语句进行比较。条件是必须同时验证所有三个参数以及AND&&语句

这是我传递值时的主要问题

public static void main(String args[]) {

        start();


        goal();

        load_truck("truck", "cdg", "p1");


    }
这是接收它们的函数

public static void load_truck(String truckL, String placeL, String packL) {

        packL = pack;
        truckL = truck;
        placeL = city;
        placeL = airport;
        placeL = loc;


        if(truckL == "truck" && placeL == "cdg" && pack == "p1") {

            at_obj_place(pack = "p1", placeL = "");

            in_pk_vehicle(pack = "p1", truck = "truck");

            System.out.println("\n"+ "The pack "+ pack + " is on the "+ truck );
        }

        if(truckL == "truck" && placeL == "cdg" && pack == "p2") {

            at_obj_place(pack = "p2", placeL = "");

            in_pk_vehicle(pack = "p2", truck = "truck");

            System.out.println("The pack "+ pack + "is on the "+ truck );
        }
        }
问题是与IF语句的比较不起作用。如果我只插入一个要比较的值,那么这个值是有效的,但是如果是2O3,这个值就不起作用了。有什么问题

编辑:问题是我如何在方法中填充变量。我删除了它,它也使用==,而不仅仅是使用equals。感谢大家

这一点:

at_obj_placepack=p1,placeL=

这不是java。Java没有命名参数

注意:关于“使用a.equalsb而不是a==b来比较字符串”的注释也是有效的;此代码有多个问题


一个友好的建议:当您遇到编译器错误或异常时,请始终将它们与您的问题一起粘贴。它将帮助那些试图回答您问题的人:

这应该是一条评论,但它太长,需要格式化

这是什么

您正在用一些其他变量覆盖参数。包装、卡车等的变量是什么

这些函数调用也很奇怪:


它是有效的Java,但非常不寻常。最有可能的是它并没有做你们认为它做的事情。

.equals方法应该适合你们。但是,该代码看起来不是有效的java代码。

它的可能重复项不是if语句不起作用。。。这是你对字符串的比较。使用equals而不是==。正如其他用户已经显示的那样,您不应该将字符串与equals进行比较,而不是与==。我想补充一点:检查Java编码惯例的大小写,而不是使用带有下划线的名称。祝你的家庭作业好运!不适用于equalsYes它是Java:在运行时,赋值表达式的结果是赋值发生后的变量值。请参见^-换句话说:这些不是命名参数。它们是作业。pack=p1计算为p1,然后将其作为参数传递。placeL也一样=这很奇怪但有效。如果它是无效的,它将无法编译。
packL = pack;
truckL = truck;
placeL = city;
placeL = airport;
placeL = loc;
at_obj_place(pack = "p1", placeL = "");