java中的变量是否可能具有多个潜在值

问题描述 投票:0回答:2

这是我的代码的一部分,我希望根据不同的客户编号将变量分配给一定的比率。我看到重复的局部变量错误,无论如何要解决这个问题?

if(custid<=100 && custid>=1) {
        double disc = .15;
    }
    else if(custid<=250 && custid>=101) {
        double disc = .18;
    }
    else if(custid<=500 && custid>=251) {
        double disc = .23;
    }
    else if(custid<=1000 && custid>=501) {
        double disc = .28;
    } 
    else if(custid>=1001) {
        double disc = .32;
    } 

    if(bill>=1000) {
        System.out.println(bill*disc);
    }
java if-statement variables
2个回答
0
投票

在条件前声明变量。然后,您只需为该变量赋值:

    double disc = 0;

    if(custid<=100 && custid>=1) {
        disc = .15;
    }
    else if(custid<=250 && custid>=101) {
        disc = .18;
    }
    else if(custid<=500 && custid>=251) {
        disc = .23;
    }
    else if(custid<=1000 && custid>=501) {
        disc = .28;
    } 
    else if(custid>=1001) {
        disc = .32;
    } 

    if(bill>=1000) {
        System.out.println(bill*disc);
    }

0
投票

您只需要声明一次变量数据类型,因为您在分配变量时多次声明它,因此重复的局部变量错误。在条件之前声明一次变量,以使其在您的条件中可重新分配。

尝试一下:

double disc = 0;

if(custid<=100 && custid>=1) {
    disc = .15;
}
else if(custid<=250 && custid>=101) {
    disc = .18;
}
else if(custid<=500 && custid>=251) {
    disc = .23;
}
else if(custid<=1000 && custid>=501) {
    disc = .28;
} 
else if(custid>=1001) {
    disc = .32;
} 
© www.soinside.com 2019 - 2024. All rights reserved.