0
我在我的if行上得到不兼容的操作數類型int和java.lang.String。我不知道它是什麼問題或如何解決它。是什麼導致這種「不兼容的操作數類型int和java.lang.String」
import java.io.*;
import static java.lang.System.*;
//不知道羯羊高於進口需要或不 進口java.util.Scanner的;
class Main{
public static void main (String str[]) throws IOException {
Scanner scan = new Scanner(System.in);
String ap = "April";
String mar = "March";
int one = 1;
int two = 2;
System.out.println("What month were you born in? (number)");
int month = scan.nextInt();
System.out.println("What day (number)");
int day = scan.nextInt();
if(((month == ap) && (day <= 19) || (month == mar) && (day >= 21))){
System.out.println("Your birthday is: "+ month+ " "+day);
System.out.println("Aries");
System.out.println("Horoscope: ");
}else
System.out.println("HI"); //Just some filler code for compiling
}
}
數字'n'(如** 1 **或** 2 **)會如何像「April」這樣的字符串? – 2015-04-04 20:02:32
您嘗試比較不可能的字符串和整數。 – 2015-04-04 20:02:56
你比較'month == mar'或者等價地比較'''3 ==「March」''的意圖是什麼?即使編譯它也不會匹配。您應該將文本的月份讀作文本(並與'equals' /'equalsIgnorecase'進行比較),或者在月份中使用數字,而不是變量中的英文名稱。 – 2015-04-04 20:04:45