在Android中使用if/else之间的变量

1 java android

我正在学习Android时开发一个小应用程序.

该应用程序基本上是进行一系列简单的数学计算.按钮正在调用进行计算的函数.一切都运行正常,直到我插入一个if/else结构.

在这个构造中,我使用之前创建的变量,进行计算并使用它设置其他变量

if (TS>Ex) {
    Double AE = 0.00;
} else {
    Double AE = (Ex-TS);
};

Double TBTAT = (TS-Ex);
Double Exx = 2864.17;   
if (TBTAT>Exx) {
    Double TAT = (Exx*0.2);
} else {
    Double TAT = (TBTAT*0.2);
};
Run Code Online (Sandbox Code Playgroud)

我有两个这样的if/else结构.

然后收集所有内容并发送到文本

IT_ResultTXT.setText(Double.toString(AE+TAT+TAF));
Run Code Online (Sandbox Code Playgroud)

在正常情况下,AE,TAT,TAF在代码的最后一行中变成"无法解析为变量",但如果我在函数的开头声明它们,则会出现重复变量的错误.

我想这是一个非常愚蠢的基本Java编程错误,但我无法找到解决方案.

Ixx*_*Ixx 8

您必须在开头(或封闭范围内的其他位置)声明,只需一次:

Double AE;

if (TS > Ex) {
    AE = 0.00;
} else {
    AE = (Ex - TS);
};

Double TBTAT = (TS - Ex);
Double Exx = 2864.17;    

Double TAT;

if (TBTAT > Exx) {
    TAT = (Exx * 0.2);
} else {
    TAT = (TBTAT * 0.2);
};
Run Code Online (Sandbox Code Playgroud)