Почему я получаю ошибку при использовании каскадного ifs в Java? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть программа, которая берет свой доход и умножает его на коэффициент в соответствии с данным доходом. Он также дает код 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);
    }
}

Спасибо !!!

1 Ответ

0 голосов
/ 15 апреля 2020

Вы на самом деле используете запятые для разделения цифр? если это так, то это ваша проблема, также не создавайте 2 объекта сканера, используйте один и тот же для обеих операций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...