if语句Java,方法从if/else打印两个选项
嗨,这是我为一个项目编写的一些代码,它调用了其他几个方法来打印关于此人的声明。我的问题是它以双精度打印,并且似乎正在运行if/else语句
我怎样才能防止这种情况?如果需要,我可以从终端添加文本。代码如下
void printPersonDescription(String name, boolean sex, int age) {
if(sex == true && yearsUntilNextMaturityLevel(age) > 1) {
println (name + " is " + getMaturityLevel(age) + ". " + "At " + age +
" she has " + yearsUntilNextMaturityLevel(age) + " years left until she is " +
nextMaturityLevel(age) + ".");
}
else if(sex == false && yearsUntilNextMaturityLevel(age) > 1) {
println (name + " is " + getMaturityLevel(age) + ". " + "At " + age +
" he has " + yearsUntilNextMaturityLevel(age) + " years left until he is " +
nextMaturityLevel(age) + ".");
}
if (sex == true && yearsUntilNextMaturityLevel(age) <= 1) {
println (name + " is " + getMaturityLevel(age) + ". " + "At " + age +
" she has " + yearsUntilNextMaturityLevel(age) + " year left until she is " +
nextMaturityLevel(age) + ".");
}
else {
println (name + " is " + getMaturityLevel(age) + ". " + "At " + age +
" he has " + yearsUntilNextMaturityLevel(age) + " year left until he is " +
nextMaturityLevel(age) + ".");
}
}
# 1 楼答案
注意你的四个案例有多相似。你只是在修改打印行中的一些单词。这四个if/else块可以简化为:
此外,通过使用
String.format
(假设成熟度级别是字符串),可以使println
更具可读性# 2 楼答案
您需要在第三个
if
之前添加else
。否则,最后的else
语句将匹配第三个if
,因此,else语句意味着# 3 楼答案
第三个
if
条件应该是代码中的else if
,以避免重复打印而不是:
使用:
顺便说一句,你不需要使用
if (boolVar == true)
你只需要使用if (boolVar)