我在我的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
}
}
+0
数字'n'(如** 1 **或** 2 **)会如何像“April”这样的字符串? –
2015-04-04 20:02:32
+0
您尝试比较不可能的字符串和整数。 –
2015-04-04 20:02:56
+3
你比较'month == mar'或者等价地比较'''3 ==“March”''的意图是什么?即使编译它也不会匹配。您应该将文本的月份读作文本(并与'equals' /'equalsIgnorecase'进行比较),或者在月份中使用数字,而不是变量中的英文名称。 –
2015-04-04 20:04:45