真的很困惑如何从if语句中提取值

0 java if-statement

基本上我有这个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);
    }
Run Code Online (Sandbox Code Playgroud)

我真的很困惑如何基本上从if语句中提取md的值.我必须在if语句之后,根据md的值计算另一个整数,但是当我尝试这样做时,md未定义并显示为错误.像这样:

int total = balance - md - ad
Run Code Online (Sandbox Code Playgroud)

平衡和广告工作正常,因为我不必使用if语句,但md将没有值.错误说它是未定义的,因为我从未在if语句之外初始化它,我只是想知道如何从if语句中获取md的值.非常感谢你的帮助.

Dev*_*rke 5

md未定义,因为当您声明它时,您不设置其值.如果married没有MS,然后md去定义.否则,md应保留您指定的任何值,因为它超出了if语句的范围.

只需添加一个else子句设置md为零:

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);
}
else
{
    md = 0;
    // TODO: System.out.println("Oops. You are neither married nor single.");
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以将您初始化md为零.我建议同时做两件事:

int md = 0;
Run Code Online (Sandbox Code Playgroud)