java对如何从if语句中提取值感到困惑
所以基本上我有一个if语句:
int md; // md = marriage deduction
if (married == 'M'){
md = 750;
System.out.println("Deduction for Being Married: " + md);
}
else if (married == 'S'){
md = 500;
System.out.println("Deduction for Being Single: " + md);
}
我真的很困惑如何从if语句中提取md的值。在这个if语句之后,我必须根据md的值计算另一个整数,但是当我尝试这样做时,md是未定义的,并且显示为错误。像这样:
int total = balance - md - ad
Balance和ad工作得很好,因为我不必为它们使用if语句,但md不会有值。这个错误表示它是未定义的,因为我从未在if语句之外初始化它,我只是想知道如何从if语句中获取md的值。非常感谢你的帮助
# 1 楼答案
如果已婚不是“M”或“S”,那么md将是未定义的
# 2 楼答案
我想在这些答案上加上一句话
或者,您可能希望使用枚举进行探索
# 3 楼答案
md
未定义,因为在声明它时,没有设置它的值。如果married
不是M
或S
,则md
未定义。否则,md
应该保留您分配给它的任何值,因为它超出了if
语句的范围只需添加一个
else
子句将md
设置为零:或者,您可以将
md
初始化为零。我建议两方面都做:# 4 楼答案
你的已婚价值几乎肯定不是M或S,因此你没有触及你陈述的任何一个分支,md也从未被定义
# 5 楼答案
假设这是我们正在讨论的JAVA,并且是一个字符串对象,您应该使用来比较它们。相等于:
# 6 楼答案
您有一个条件,其中
married
既不是S
也不是M
。。。因此,添加最后一个else
将其设置为零或者在整个if语句之前执行此操作
或者您有小写的
s
或m
,它不满足区分大小写的条件