0

私はJavaの初心者で、私の質問は少し恐ろしいように思えるかもしれませんが、助けていただければ幸いです!

とにかく私の質問は本の質問です:

「アルファ ベットから 1 文字を入力するようユーザーに促すプログラムを作成します。ユーザー入力に応じて、母音または子音を出力します。ユーザー入力が文字 (a と z または A と Z の間) でない場合、または長さが 1 より大きい文字列の場合、エラー メッセージを出力します。

入力が文字ではないかどうかをどのように検出できますか?助けていただければ幸いです! ありがとう!

4

4 に答える 4

1

正規表現を調べることができるかもしれませんが(正直なところ、私のお気に入りのアプローチではありません)、それは短く、仕事をします(また、別の可能性を与えるかもしれません):

String letterPattern = "^(?i)[a-z]$";
String vowelPattern = "^(?i)[aeoui]$";
String test = "A";

if(test.matches(letterPattern)) {
    if(test.matches(vowelPattern)) {
        System.out.println("This is a vowel!");
    }
    else {
        System.out.println("It's not ...");
    }           
}
// you get the idea ...
于 2013-08-25T05:41:47.380 に答える
0

シンプルなものはこんな感じ

public static final int VOWEL = 0;
public static final int CONSONANT = 1;
public static final int OTHER = 2;

public int getCharType(char c) {
  switch(c) {
    case 'a':
    case 'A':
    case 'e':
      ...
      return VOWEL;

    case 'b':
    case 'B':
    case 'c':
      ...
      return CONSONANT;

    default:
      return OTHER;
  }
}
于 2013-08-25T05:31:50.030 に答える