最后的字符串邮政编码在我的代码中稍后用作输入,正如您所看到的,它是硬编码的。我想做的是让它更有活力。因此布尔pc4设置为接受4位邮政编码的国家/地区。 pc5是5位数,pc6是6位数。
我想做的是:
if(pc4==true){String postcode="1234"}
正如你们已经知道的那样,这在if语句之外不起作用。
所以我的问题是:我可以更新if语句之外的字符串,还是有更有效的方法来到达我需要的位置?
String state1 = "state";
boolean pc4 = (bString.equals("Bahrain") || bString.equals("Afghanistan")
|| bString.equals("Albania") || bString.equals("Armenia")
|| bString.contains("Australia")
...
|| bString.equals("Tunisia") ||bString.equals("Venezuela") );
boolean pc5 = (bString.equals("Alan Islands") || bString.equals("Algeria")
|| bString.equals("American Samoa") || bString.equals("Wallis and Futuna")
...
|| bString.equals("Zambia"));
boolean pc6 = (bString.equals("Belarus") || bString.equals("China")
|| bString.equals("Colombia") || bString.equals("India")
...
|| bString.equals("Turkmenistan") || bString.equals("Viet Nam"));
String postcode = "123456";
答案 0 :(得分:6)
在块外定义postcode
并根据条件为其赋值。
如下所示:
String postcode="";
if(pc4){postcode="1234"}
答案 1 :(得分:2)
虽然与原始问题相关,而不是使用巨大的单行if语句,但使用Map
来定义邮政编码的长度可能会更容易。
HashMap<String, Integer> countries = new HashMap<>();
countries.add("Bahrain", 4);
switch(countries.get(myCountry)) {
case 4:
// Stuff!
}
答案 2 :(得分:1)
使用三元条件运算符。
String postcode = pc4 ? "1234" : "";
答案 3 :(得分:0)
String postcode = null; // or ""
if (pc4)
postcode = "1234";
else if (pc5)
postcode = "12345";
else if (pc6)
postcode = "123456";
else
postcode = "default value";