[英]How to define an IF statement with AND
我將三個值從主傳遞給 function。 使用這些值,我與 IF 語句進行比較。 條件必須是所有三個參數都必須使用 AND(&&) 語句一起驗證。
這是我傳遞值時的主要內容
public static void main(String args[]) {
start();
goal();
load_truck("truck", "cdg", "p1");
}
這是接收它們的 function
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 語句的比較不起作用。 如果我只插入一個值來比較是有效的,但是 2 o 3 IF 不起作用。 問題是什么?
編輯:問題是我如何在方法中填充變量。 我刪除了它,它也與 == 一起工作,不僅與 equals() 一起工作。 謝謝大家
這個:
at_obj_place(pack = "p1", placeL = "");
不是 java。 Java 沒有命名參數。
注意:關於“使用a.equals(b)
而不是a == b
來比較字符串”的評論也是有效的; 這段代碼有不止一個問題。
一個友好的建議:當您遇到編譯器錯誤或異常時,請始終將它們與您的問題一起粘貼。 它會幫助那些試圖回答你的問題的人:)
(這應該是一個注釋,但它太長了,需要格式化。)
這是什么?
packL = pack; truckL = truck; placeL = city; placeL = airport; placeL = loc;
您正在用其他一些變量覆蓋參數。 什么是變量pack
、 truck
等?
這些函數調用也很奇怪:
at_obj_place(pack = "p1", placeL = "");
它是有效的 Java,但非常不尋常。 很可能它沒有做你認為它做的事情。
.equals() 方法應該適合你。 但是,該代碼看起來不像是有效的 java 代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.