1. ホーム
  2. java

[解決済み] switchステートメントを使用して、それぞれのケースで値の範囲を指定する?

2022-12-02 02:53:44

質問

Javaでは、各ケースに複数の値が含まれるようなswitch文を書くことは可能でしょうか?たとえば、(明らかに以下のコードは動作しませんが)。

switch (num) {
    case 1 .. 5:
        System.out.println("testing case 1 to 5");
        break;
    case 6 .. 10:
        System.out.println("testing case 6 to 10");
        break;
}

これはObjective Cでできると思うのですが、Javaでも同じようなものがあるのでしょうか?それとも、単に if , else if ステートメントの代わりに?

どのように解決するのですか?

Javaにはそのようなものはありません。以下のようにすればよいのではないでしょうか?

public static boolean isBetween(int x, int lower, int upper) {
  return lower <= x && x <= upper;
}

if (isBetween(num, 1, 5)) {
  System.out.println("testing case 1 to 5");
} else if (isBetween(num, 6, 10)) {
  System.out.println("testing case 6 to 10");
}