1. ホーム
  2. java

[解決済み] Java Switchステートメント - "or"/"and "は可能か?

2023-07-21 22:56:59

質問

char switchステートメントでどの文字を使用するかを決定するフォントシステムを実装しました。私のフォント画像には大文字しかありません。例えば、'a' と 'A' の両方が同じ出力を持つようにする必要があります。2倍のケースを持つ代わりに、次のようなものになるでしょうか。

char c;

switch(c){
case 'a' & 'A': /*get the 'A' image*/; break;
case 'b' & 'B': /*get the 'B' image*/; break;
...
case 'z' & 'Z': /*get the 'Z' image*/; break;
}

javaで可能でしょうか?

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

を省略することで、switch-case fall through を使用することができます。 break; ステートメントを省略することで使用できます。

char c = /* whatever */;

switch(c) {
    case 'a':
    case 'A':
        //get the 'A' image;
        break;
    case 'b':
    case 'B':
        //get the 'B' image;
        break;
    // (...)
    case 'z':
    case 'Z':
        //get the 'Z' image;
        break;
}

...あるいは、正規化して 小文字 または 大文字 前に switch になっています。

char c = Character.toUpperCase(/* whatever */);

switch(c) {
    case 'A':
        //get the 'A' image;
        break;
    case 'B':
        //get the 'B' image;
        break;
    // (...)
    case 'Z':
        //get the 'Z' image;
        break;
}