2

名前がAGの文字で始まり、Hzの文字で終わる場合、出力が無効になるJavaアクティビティを実行しています。私のコードは次のとおりです。

System.out.print("Enter your name: ");
String str = in.readLine();
 if(str.startsWith("a" )){
            System.out.print("INVALID!");
        }  if(str.endsWith("h")){
            System.out.print("INVALID!");
        }

これは機能しますが、文字 a から g および h から zi を実装するにはどうすればよいですか? 既にこの [ag] を試しても機能しません!

4

2 に答える 2

4

String.startsWith()と を参照してくださいString.endsWith()。これらの String メソッドは両方とも、このタスクにとって非常に貴重です。

于 2012-09-30T02:40:37.987 に答える
4

String.matches()メソッドで正規表現を使用することも検討できます。このようなもの:

string.matches("^[A-Ga-g].*.[H-Zh-z]") //Where string is a variable in here

注:この正規表現は、指定された文字列が AG (大文字/小文字) で始まり、HZ (大文字/小文字) で終わるかどうかを返します。そのため、検証の実行中にそれを否定したい場合があります。このようなもの:

if(!string.matches("^[A-Ga-g].*.[H-Zh-z]")){
 //Signifies that the input does not start with A-G and ends with H-Z
}
于 2012-09-30T02:47:36.490 に答える