我如何检查countryName和capitalName实例变量是否以大写字母开头?我确定我必须使用涉及像“^ [A-Z]”这样的事情的正则表达式,但我不确定如何或在何处放置完整的代码。 我是java的初学者,非常感谢任何帮助或建议。
java.util.regex.*;
public class CountryInfo {
private String countryName;
private String capitalName;
public CountryInfo (String countryName, String capitalName) {
super();
this.countryName=countryName;
this.capitalName=capitalName;
}
public String getCountryName() {
return countryName;
}
public void setCountryName(String countryName) {
this.countryName = countryName;
}
public String getCapitalName() {
return capitalName;
}
public void setCapitalName(String capitalName) {
this.capitalName = capitalName;
}
}
答案 0 :(得分:0)
最简单的方法是使用以下代码
char c = countryName.charAt(0);
if (c >= 'A' && c <= 'Z')
//first character is capital letter!
使用正则表达式,对初学者来说可能很复杂。
在何处放置代码? 可能在构造函数中检查它是否是大写字母,但如果它是大写字母,你应该解释你需要做什么,如果不确定在哪里放置它会怎么做。
答案 1 :(得分:0)
使用此模式检查:
\b[A-Z]
我不知道你的功能在匹配时究竟应该做什么,所以我无法告诉你在哪里放置它。最明智的地方可能在构造函数中。
答案 2 :(得分:0)
使用String#matches(String regex)
在同一个类中创建一个新方法:
public boolean isValidDate() {
boolean valid = true;
if (!this.capitalName.matches("^[A-Z].*$"))
valid = false;
else if (!this.countryName.matches("^[A-Z].*$"))
valid = false;
return valid;
}
现在,在创建实例并填充对象后,您可以调用:isValidDate()
来了解数据是否有效。