在if语句中检查多个字符串的最干净方法是什么,我希望能够检查用户所在的国家/地区是否使用将要放入(“ ???”)的欧元。因为这有效。
if (usercountry.equals("FRA") || usercountry.equals("FRA")||
usercountry.equals("FRA") || usercountry.equals("FRA") ||
usercountry.equals("FRA") || usercountry.equals("FRA") ||
usercountry.equals("FRA") || usercountry.equals("FRA") ||
usercountry.equals("FRA")) {
costpermile = costpermile*1.42; //(costpermile=£) (costpermile*1.42=Euros)
}
但看起来糟透了
顺便说一句,我没有一遍又一遍地检查法国仍然是其原型代码,因此我没有进入欧洲每个国家而不首先检查是否有更好的方法。
最佳答案
1.正则表达式
if (usercountry.matches("FRA|GER|ITA"))
{
costpermile = costpermile*1.42;
}
2.将国家/地区添加到数据结构(集合)中并检查
Set<String> eurocountries= new HashSet<String>();
eurocountries.add("FRA");eurocountries.add("GER");eurocountries.add("ITA");
if (eurocountries.contains(usercountry))
{
costpermile = costpermile*1.42;
}
注意:我认为它是您正在寻找的regex方法