2016-02-26 2 views
-1

Newb Java-программист здесь, Почему калькулятор не вычисляется?Java - простой калькулятор налога с использованием операторов If и if else

Программа должна вводить Доход от пользователя, а затем вывести свой федеральный налог на основе расчетов.

Федеральных налоговые правила: 15% на первые $ 45,282 налогооблагаемого дохода, + 20,5% на следующий $ 45281 налогооблагаемого дохода (на часть налогооблагаемого дохода за $ 45282 до $ 90563), + 26 % на следующий $ 49825 налогооблагаемого дохода (на части налогооблагаемого дохода за $ 90563 до $ 140388), +

Вход:
Введите метки: 85
Выход:
Grade это:
Вход:
Введите метки: 110
Выход:
Введите значение между 0 и 100
Входной сигнал:
Введите метки: 79,5
Выход:
сорт: B +
Входной сигнал:
Введите метку : -10
Выход:
Введите значение между 0 и 100 29% на следующий $ 59612 налогооблагаемого дохода (на части налогооблагаемого дохода более $ 140388 до $ 200000 ) + 33% налогооблагаемого дохода свыше 200 000 долларов США.

package practiceproblab4; 

import java.util.Scanner; 
/** 
* 
* @author JAVA NEWB 
*/ 
public class PracticeProbLab4 { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) 
{ 

Scanner sc = new Scanner(System.in); 
System.out.println("Enter your Income: "); 
String In = sc.nextLine(); 
Double Income = Double.parseDouble(In); 

calculateAndPrintTax(Income); 
System.out.println("Your taxes are: " + TotalTax); 
} 

static double calculateAndPrintTax(double Income, double Tax) 
{ 
    double tax; 
    double difftax1; 
    double difftax2; 
    double difftax3; 
    double difftax4; 
    double TotalTax; 

    if ((Income >= 45282) && (Income <= 200000)) 
    { 
     if(Income<=45282) 
     { 
      tax = 45282 * 0.15; 
      TotalTax = tax; 
     } 
     else if (Income > 45282 && Income <= 90653) 
     { 
      tax = 45282 * 0.15; 
      difftax1 = (Income - 45282)* .205; 
      TotalTax = tax + difftax1; 
     } 
     else if ((Income >90563) && (Income <= 140388)) 
     { 
      tax = 45282 * 0.15; 
      difftax1 = (Income - 45282) * .205; 
      difftax2 = (Income - 90563) * 0.26; 
      TotalTax = tax + difftax1 + difftax2; 
     } 
     else if ((Income > 140388) && (<= 200000)) 
     { 
      tax = 45282 * 0.15; 
      difftax1 = (Income - 45282) * .205; 
      difftax2 = (Income - 90563) * 0.26; 
      difftax3 = (Income - 140388) * 0.29; 
      TotalTax = tax + difftax1 + difftax2 + difftax3; 
     } 
     else if ((Income > 200000)) 
     { 
      tax = 45282 * 0.15; 
      difftax1 = (Income - 45282) * .205; 
      difftax2 = (Income - 90563) * 0.26; 
      difftax3 = (Income - 140388) * 0.29; 
      difftax4 = (Income - 200000) * 0.33; 
      TotalTax = tax + difftax1 + difftax2 + difftax3 + difftax4; 
     } 
    else ((Income > 200000)) 
      {  
      tax = 45282 * 0.15; 
      difftax1 = (Income - 45282) * .205; 
      difftax2 = (Income - 90563) * 0.26; 
      difftax3 = (Income - 140388) * 0.29; 
      difftax4 = (Income - 200000) * 0.33; 
      TotalTax = tax + difftax1 + difftax2 + difftax3 + difftax4; 
      return TotalTax; 
      } 
    } 
} 
} 
+0

Какое исключение вы получаете? – ramasCoder

+0

Выпущена одна проблема: 'double TotalTax' объявляется в' calculateAndPrintTax'. Это означает, что он не отображается в методе 'main', когда вы пытаетесь напечатать' TotalTax' –

+0

. Еще одна проблема: 'calculateAndPrintTax' требует 2 параметра, но вы передаете только один аргумент в' main' –

ответ

1

Прежде всего, вы не печатаете здесь ничего (потому что вы не инициализировать TotalTax где-нибудь в вашем методе main):

calculateAndPrintTax(Income); 
System.out.println("Your taxes are: " + TotalTax); 

То, что вы должны сделать, это объявить его в основной и принять возвращать значение вашего метода:

double TotalTax; 

TotalTax = calculateAndPrintTax(Income); 
System.out.println("Your taxes are: " + TotalTax); 

Кроме того, вы должны удалить возврат в остальном части calculateAndPrintTax вы должны поставить его вне if/elseif/else Статья:

if{ 
// code here 
} 
else if{ 
// code here 
} 
else{ 
// code here 
} 
return TotalTax; 
+0

. Чтобы добавить к этому, вам нужно для изменения calculateAndPrintTax (двойной доход, двойной налог) для расчетаAndPrintTax (двойной доход). – ramasCoder

+0

Когда внесенные вами изменения сделаны, я получаю еще две ошибки –

+0

TotalTax = calculateAndPrintTax (Доход); подчеркивается красным цветом, а еще ((Доход> 200000)) также подчеркивается красным цветом –