2

我正在做一个 java 活动,如果名称以字母 AG 开头并以字母 Hz 结尾,则输出无效继承我的代码:

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.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 回答
4

看看String.startsWith()String.endsWith()。这两种 String 方法对于这项任务都是无价的。

于 2012-09-30T02:40:37.987 回答