Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Java中使用级联ifs时会出现错误?_Java_If Statement_Input_Operators - Fatal编程技术网

为什么在Java中使用级联ifs时会出现错误?

为什么在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 ) {

我有一个程序,根据给定的收入将一个人的收入乘以一个系数。它还提供了一个1或0的代码,定义了相应的收入范围。 乍一看似乎是正确的,但我似乎得到了一些错误,这些错误与我用来计算收入的方法中存在的if语句有关

代码如下:

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-如果这个答案有帮助的话把你的问题告诉你,然后认为它有用。