为什么在Java中使用级联ifs时会出现错误?
我有一个程序,根据给定的收入将一个人的收入乘以一个系数。它还提供了一个1或0的代码,定义了相应的收入范围。 乍一看似乎是正确的,但我似乎得到了一些错误,这些错误与我用来计算收入的方法中存在的if语句有关 代码如下:为什么在Java中使用级联ifs时会出现错误?,java,if-statement,input,operators,Java,If Statement,Input,Operators,我有一个程序,根据给定的收入将一个人的收入乘以一个系数。它还提供了一个1或0的代码,定义了相应的收入范围。 乍一看似乎是正确的,但我似乎得到了一些错误,这些错误与我用来计算收入的方法中存在的if语句有关 代码如下: import java.util.Scanner; public class IncomeCalc{ public void Cal(double inc, int code) { if( code == 0 ) {
import java.util.Scanner;
public class IncomeCalc{
public void Cal(double inc, int code)
{
if( code == 0 )
{
if((inc >= 0) && (inc <= 5,000))
{
System.out.println("Your tax declaration is "+ inc*0.1);
}else if((inc >= 5,001) && (inc <= 10,000))
{
System.out.println("Your tax declaration is "+ inc*0.15);
}else if((inc >= 10,001) && (inc <= 20,000))
{
System.out.println("Your tax declaration is "+ inc*0.25);
}else if(inc >= 20,001)
{
System.out.println("Your tax declaration is "+ inc*0.35);
}
}
else if( code == 1 )
{
if((inc >= 0) && (inc <= 10,000))
{
System.out.println("Your tax declaration is "+ inc*0.1);
}else if((inc >= 10,001) && (inc <= 20,000))
{
System.out.println("Your tax declaration is "+ inc*0.15);
}else if((inc >= 20,001) && (inc <= 30,000))
{
System.out.println("Your tax declaration is "+ inc*0.25);
}else if(inc >= 30,001)
{
System.out.println("Your tax declaration is "+ inc*0.35);
}
}
}
public static void main(String[] args)
{
Scanner obj = new Scanner(System.in);
System.out.println("Enter your annual income");
double income = obj.nextDouble();
Scanner obj2 = new Scanner(System.in);
System.out.println("If you are an individual choose 0 else choose 1 ");
int decl = obj2.nextInt();
Cal(income, decl);
}
}
import java.util.Scanner;
公共类IncomeCalc{
公共无效Cal(双重inc,整数代码)
{
如果(代码==0)
{
如果((inc>=0)&&(inc=5001)&&(inc=10001)&(inc=20001)
{
System.out.println(“您的纳税申报为”+inc*0.35);
}
}
else if(代码==1)
{
如果((inc>=0)&&(inc=10001)&&(inc=20001)&(inc=30001)
{
System.out.println(“您的纳税申报为”+inc*0.35);
}
}
}
公共静态void main(字符串[]args)
{
扫描器obj=新扫描器(System.in);
System.out.println(“输入您的年收入”);
双倍收入=目标下一个双倍();
扫描仪obj2=新扫描仪(System.in);
System.out.println(“如果您是个人,请选择0,否则请选择1”);
int decl=obj2.nextInt();
Cal(收入,decl);
}
}
谢谢!!!你真的用逗号来分隔数字吗?如果是这样的话,这是你的问题,也不要创建两个扫描对象,两个操作都使用同一个扫描对象。哦,我明白了!我太傻了。所以如果我想表示数字2000,应该是:2.000?非常感谢!我没有注意到!@user08-如果这个答案有帮助的话把你的问题告诉你,然后认为它有用。