2015-02-24 2 views
-3

Программа, которая попросит пользователя ввести сумму покупки. Затем программа должна рассчитать государственный налог с продаж и налог с продаж в графстве. Предположим, что государственный налог с продаж составляет 4%, а налог с продаж округа - 2%. Программа должна отображать сумму покупки, государственный налог с продаж, налог с продаж округа, общий налог и общую стоимость покупки.Расчет налога с продаж и продаж

ID хотел бы знать, правильно ли я это сделал или ему нужны некоторые изменения.

public static void main(String[] args) { 
double Purchaseamount= 30; 
double Statetax = 4.00; 
double Countytax = 2.00; 
double sum, totalcost; 

    //Calculate total tax 
    Statetax=(Statetax/100.0); 
    Countytax=(Countytax/100.0); 
    sum = Statetax + Countytax; 
    totalcost = Purchaseamount + sum; 

    //Display the following output 
    System.out.print("Enter the Purchase amount "); 
    System.out.println(Purchaseamount); 
    System.out.print("Purchase amount: $"); 
    System.out.println(Purchaseamount); 
    System.out.print("State tax: $"); 
    System.out.println(Statetax); 
    System.out.print("County tax: $"); 
    System.out.println(Countytax); 
    System.out.print("Total tax: $"); 
    System.out.println(sum); 
    System.out.print("Total coast: $"); 
    System.out.println(totalcost); 
} 
+2

Примечание: в Java имена переменных должны начинаться с буквы нижнего регистра и верблюжьего корпуса (поэтому 'StateTax' должен быть' stateTax'). В противном случае трудно определить с первого взгляда, что такое класс (который начинается с прописной буквы) и переменная. –

+3

Ну, эта программа не требует ввода пользователем ... так ... нет? Кроме того, 'totalcost = Buyamount + sum' должно быть' totalcost = Purchaseamount * (sum + 1.0) '. Чтобы рассчитать Суммарную стоимость, вам нужно заплатить налоговой ставкой. + 1 - гарантировать, что умножение включает начальное значение суммы покупки. –

+2

Логика кажется прекрасной, линии могут быть уменьшены, но отлично смотрится в конце. Но, как уже упоминалось, попробуйте использовать условные обозначения в вашем коде (переменные в нижнем верблюжьем футляре). Кроме того, если вы ожидаете ввода пользователем, вы должны включить сканер или какой-либо механизм для пользователя, чтобы ввести стоимость покупки –

ответ

1

Следуя вашей логике, я думаю, вы должны изменить этот блок кода:

//Calculate total tax 
Statetax=(Statetax/100.0); 
Countytax=(Countytax/100.0); 
sum = Statetax + Countytax; 
totalcost = Purchaseamount + sum; 

Чтобы что-то вроде:

//Calculate total tax 
Statetax = Purchaseamount *(Statetax/100.0); 
Countytax = Purchaseamount *(Countytax/100.0); 
sum = Statetax + Countytax; 
totalcost = Purchaseamount + sum; 

Таким образом, переменные Statetax и Countytax устанавливаются с денежная стоимость относительно вашей переменной Purchaseamount.

Итак, это будет иметь смысл с кодом, который вы используете для отображения ваших данных.

+0

большое вам спасибо! – idsk

0

Код выглядит нормально, но транзакционный налог с продаж обычно более сложный, чем только государственный и уездный налог. Вы должны учитывать налогообложение, юрисдикцию и специальные правила.

В идеале вы должны использовать налоговые услуги, такие как Avalara, TaxJar, Taxcloud и другие, чтобы получить точную сумму налога с продаж. Большинство из этих служб имеют API на основе REST, которые просты в обращении и возвращают подробный налоговый отчет.

Что касается вашего другого вопроса о форматировании процента, вы можете использовать этот код.

System.out.println(String.format("%.0f%%",Statetax)) 

Надеюсь, что это поможет!

+0

спасибо youu! что касается налоговой вещи, это то, что мне было поручено только для использования государственного и уездного налога. – idsk

Смежные вопросы