void menu() {
print();
Scanner input = new Scanner(System.in);
while(true) {
String s = input.next();
switch (s) {
case "m": print(); continue;
case "s": stat(); break;
case "[A-Z]{1}[a-z]{2}\\d{1,}": filminfo(s); break;
case "Jur1": filminfo(s); break; //For debugging - this worked fine
case "q": ; return;
}
}
}
正規表現がオフであるか、case文で正しく使用されていないようです。私が欲しいのは、次のような文字列です。正確に1つの大文字で始まり、正確に2つの小文字が続き、少なくとも1つの数字が続きます。regexをJavaのswitch文に使用する
私はregex APIをチェックアウトし、3つのバリエーション(欲張り、嫌悪感、所有量の限定子)を使いこなしてみました。私の必要性に関係するような方法を見つけずにStringのメソッドもチェックしました。
これはJava 7の新機能ですか?正規表現でスイッチします。 Java 6以降ではこのようなことはありません。 – gigadot
6以下の文字列スイッチもありません(積分と列挙体のみ) –
はい - これはスイッチのルールを破っていると思われます。だから良い 'ol if/else if文? – jollyroger