-1
我認爲這可能是由於switch語句造成的。 我是否已經爲他們制定了切換語句。好吧,我的代碼已編譯,但if/else語句不起作用
import java.util.Scanner;
public class mylab
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int month;
int day;
String season= "seasons";
System.out.print("type a two digit month");
System.out.print(" and day");
month = in.nextInt();
day = in.nextInt();
String winter = " winter ";
String summer = " summer";
String spring = " spring";
System.out.print(" Month="+ month +" Day= "+day);
switch (month) {
case 1:
month = 1; System.out.println(" Winter");
break;
case 2:
month = 2; System.out.println(" Winter");
break;
case 3:
month= 3;System.out.println(" Winter");
break;
case 4:
month= 4;System.out.println(" Spring");
break;
case 5:
month = 5;System.out.println(" Spring");
break;
case 6:
month = 6 ;System.out.println(" Spring");
break;
case 7:
month = 7 ;System.out.println(" Summer");
break;
case 8:
month = 8;System.out.println(" Summer");
break;
case 9:
month = 9;System.out.println(" Summer");
break;
case 10:
month = 10;System.out.println(" Fall");
break;
case 11:
month = 11;System.out.println(" Fall");
break;
case 12:
month = 12;System.out.println(" Fall");
break;
}
怎麼,我做這部分工作與switch語句 這部分的僞代碼是如果一個月是3天> = 21整除,如果賽季是「冬天」,季節= 「春」,否則如果賽季是「春天」,季節=「泡沫之夏」,如果否則賽季是「夏」,季節=「落」 否則季=「冬天」
if (month % 3 == 0 && day >= 21)
{
if (season.equals(winter))
System.out.println(" Spring");
else if (season.equals(spring))
System.out.println ("Summer");
else if (season.equals(summer))
System.out.println (" fall");
else if (season.equals(winter))
System.out.println(" winter");
}
}
}
這不是「僞代碼」,它是Java。它是一種編程語言的源代碼。你的問題也與IDE無關。如果您實際使用適用於您問題的標籤,它可以幫助您更快速地獲得答案。 –
檢查您的大小寫和空格。此外,交換機中的這些月份分配是多餘的。 – BRFennPocock
季節總是字符串「季節」。您永遠不會將您正在檢查的值中的一個賦值給它,以便相等性檢查總是失敗。 – tvanfosson