我正在努力学习和构建我的第一个程序。这是一个制定汽车mpg的计划。
我创建了一个变量,将自己设置为用户iso3代码,因此当程序在不同的国家/地区使用时,我可以使用它来更改代码中的其他变量 - 即。美国和英国的加仑略有不同,因此为该项目所使用的国家/地区设置正确的加仑值。
我遇到的问题是创建if
语句以使其正常工作。
Locale defaultLocale = Locale.getDefault();
String usercountry = (defaultLocale.getISO3Country());
我试过这个:
if (usercountry == USA{
mpg = mpg*0.83;
}
而且:
if (usercountry.equals(USA)){
mpg = mpg*0.83;
}
但两人都回来说美国无法解决变数问题。我错过了一些小的东西,还是我错误的方式? 提前谢谢。
答案 0 :(得分:3)
在Java中,String
literals需要用双引号括起来:"USA"
,而不是USA
。将代码更改为
if (usercountry.equals("USA"))
或
if (defaultLocale.equals(Locale.US))
应该有用。
前者将检查JVM的默认语言环境的ISO 3166-1 alpha-3代码是否与表示美国的代码匹配(" USA")。后者将检查语言环境本身并将其与常量Locale.US
匹配。
答案 1 :(得分:0)
美国没有被实施为字符串。您需要在其周围放置引号(" USA")或创建一个包含字符串USA的String变量。然后,您可以将其与usercountry进行比较。