0

スイッチを使用しなければならない課題があります。整数 -1 が入力されると、プログラムは終了するはずです。また、1 から 7 までの任意の数字で曜日が表示されます。1 から 7 と -1 の間のその他の数字は、「1 から 7 までの数字のみが受け入れられます」と表示されます。-1 が入力されたときにプログラムを終了させるにはどうすればよいですか? これまでのコードは次のとおりです。

    Scanner s = new Scanner(System.in);
    String res = "";
    System.out.println("Input a number ");
    int day = s.nextInt();

    if(day==-1){
System.exit(0);
}  
    switch (day) {
      case 1:
        res="Today is Sunday";
      break;
      case 2: 
        res="Today is Monday";
        break;
      case 3: 
        res = "Today is Tuesday";
        break;
      case 4: 
        res = "Today is Wednesday";
        break;
      case 5:
        res = "Today is Thursday";
        break;
      case 6: 
        res = "Today is Friday";
        break;
      case 7:
        res = "Today is Saturday";
        break;
      default:
        res = "Only numbers from 1 to 7 are accepted ";
        break;
    }
   System.out.println(res);

  }
}

私のソリューションでコードを更新しました。

4

5 に答える 5

0

Sage の答えとして、case -1: System.exit(0); を置くことができます。壊す; または、ロジックがメソッド内にある場合はreturnステートメントを使用します(returnステートメントを使用する方がSystem.exit()を使用するよりも優雅だと思います)。

ただし、ロジックが「ケース 7」に到達することはありません。「day %7」を使用すると、7 で割った後に残りが返されるため、日が正の場合は 0 から 6 の間、日が負の場合は -6 から 0 の間になります。

于 2013-10-31T05:29:42.823 に答える
0

do while を使用すると、必要な動作を得るのに役立ちます

            {
                Scanner s = new Scanner(System.in);
                String res = "";
                Integer day;
                do{
                System.out.println("Input a number ");
                day = s.nextInt();

                System.out.println(day);
                switch (day) {
                  case 1:
                    res="Today is Sunday";
                  break;
                  case 2: 
                    res="Today is Monday";
                    break;
                  case 3: 
                    res = "Today is Tuesday";
                    break;
                  case 4: 
                    res = "Today is Wednesday";
                    break;
                  case 5:
                    res = "Today is Thursday";
                    break;
                  case 6: 
                    res = "Today is Friday";
                    break;
                  case 7:
                    res = "Today is Saturday";
                  default:
                    res = "Only numbers from 1 to 7 are accepted ";
                    break;
                }
               System.out.println(res);
            }
            while (!day.equals(-1));
              }
于 2013-10-31T05:31:33.513 に答える
0

日が 1 よりも大きくなるかどうかを確認してから、大文字と小文字を切り替えて送信します。

 if(day>=1){
    System.exit(0);
    }else{
switch(day%7){
case:
}
}
于 2013-10-31T05:09:34.050 に答える
0

あなたのプログラムは入力を求めていますが、切り替えているので、1-7入力に対しては機能しません。取り外して配置するだけです。次に、完全なソリューションは次のようになります。7day % 7day = 7day % 7 = 0day % 7day

System.out.println("Input a number ");
int day = s.nextInt();

switch (day) {

  case -1:
     System.exit(0);
  break;
  case 1:
    res="Today is Sunday";
  break;
  case 2: 
    res="Today is Monday";
    break;
  case 3: 
    res = "Today is Tuesday";
    break;
  case 4: 
    res = "Today is Wednesday";
    break;
  case 5:
    res = "Today is Thursday";
    break;
  case 6: 
    res = "Today is Friday";
    break;
  case 7:
    res = "Today is Saturday";
  default:
    res = "Only numbers from 1 to 7 are accepted ";
    break;
  }
  System.out.println(res);
}
于 2013-10-31T05:15:05.303 に答える