好的,所以我的代码已编译,但是IF/Els语句不起作用



我认为这可能是由于开关语句。我是否让他们俩切换语句供他们解决。

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,如果季节是"冬季",季节="春季",则否则季节是"春季",季节="夏季",否则如果季节是"夏天",季节="秋天" else季节="冬季"

  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");
      }
   }
} 

这就是我的写作方式(如果我绝对必须保留开关并且不在乎检查用户输入):

import java.util.Scanner;
public class mylab {
   public static void main(String[] args) {
       int month, day;
       Scanner in = new Scanner(System.in);
       System.out.print("Type a two digit month: ");
       month = in.nextInt();
       System.out.print("Type a two digit day: ");
       day = in.nextInt();
       System.out.print(" Month="+ month +" Day= "+day+" ");
       if(month%3==0 && day>=21) {
         month++;
         if(month>12) month=1;
       }
       switch (month) {
         case 1: case 2: case 3: System.out.println("Winter"); break;
         case 4: case 5: case 6: System.out.println("Spring"); break;
         case 7: case 8: case 9: System.out.println("Summer"); break;
         case 10: case 11: case 12: System.out.println("Fall"); break;
       }
   }
}

相关内容

最新更新