2012-02-06 2 views
1

Основой присвоения является использование инструкций if/else if для настройки сценария. Мне нужно немного помочь доработать часть if/else и кому-то просмотреть любые ошибки. Вот задание:JavaScript Assignment - Conditionals (IF/Else Statementments)

Напишите код JavaScript в одном документе HTML с использованием IF и операторов IF/Else для следующих трех ситуаций. Для каждого из них обязательно напишите комментарии для каждого раздела.

Определить ставку налога на основе дохода и налога на доход.

Объявления переменных раздела 1. Объявите переменную, которая содержит сумму дохода, введенного пользователем. 2. Объявите переменную, которая содержит минимальный доход, который не будет взиматься с налогов. 3. Объявите переменную, которая содержит процентную ставку налога для налогового кронштейна 1. 4. Объявите переменную, которая содержит процентную ставку налога для налогового кронштейна 2. 5. Объявите переменную, которая имеет самый высокий доход для налогового кронштейна 1. 6 . Объявите переменный, которая имеет самый высокий доход для налогового кронштейна 2.

Назначения раздела 7. Присвоить $ 1500 в качестве максимальной суммы дохода, который не будет взиматься налогами. 8. Присвойте максимальный доход для налогового кронштейна 1 в размере 25 000 долларов США, а налог - до 15%. Все, что превышает $ 25K, находится в следующем налоговом кронштейне. 9. Назначьте самый высокий доход для налогового кронштейна 2 в размере 40 тыс. Долларов США, а процент налога - до 20%. Все, что превышает $ 40K, находится в следующем налоговом кронштейне. 10. Попросите пользователя ввести сумму в долларах. 11. Преобразование данных, введенных в число.

Раздел «Логика и выход» 12. Используйте только переменные в своей логике. 13. Определите, облагается ли введенная сумма в долларах. 14. Определите, находится ли сумма доллара в налоговой шкале 1 или 2. 15. Рассчитайте сумму налога на сумму в долларах и отобразите сообщение, сообщающее пользователю, какая сумма налога будет на номер, который они ввели. 16. Для сумм, превышающих $ 40 тыс., Отображается сообщение «У меня нет данных для расчета налога на этот доход.

Тестирование. Попробуйте значения, равные максимальному доходу для каждой скобки и самый высокий доход без налогов. Попробуйте цифры, превышающие 40 000. Попробуйте количество, равное 25 001 или 40 001.

Мой код до сих пор:

<script type="text/javascript"> 

     // variable declarations 

      var userIncome; 
      var minIncomeNoTax; 
      var taxPercentBrack1; 
      var taxPercentBrack2; 
      var hiIncomeBrack1; 
      var hiIncomeBrack2; 
      var currentTaxBracket; 

     // Assignments 

      userIncome = prompt("Please enter your income in dollar amount.",""); 
      minIncomeNoTax = 1500; 
      taxPercentBrack1 = 15/100; 
      taxPercentBrack2 = 20/100; 
      hiIncomeBrack1 = 25000; 
      hiIncomeBrack2 = 40000; 

     // Calculations & Output 

      if (userIncome >=minIncomeNoTax && userIncome <=hiIncomeBrack2) 
      { 
       alert("Your income is taxable."); 
      } 
      else if (userIncome >=minIncomeNoTax && userIncome <=hiIncomeBrack1) 
      { 
       alert("Your income amount is in tax bracket 1."); 
      } 
      else if (userIncome >hiIncomeBrack1 && userIncome <=hiIncomeBrack2) 
      { 
       alert("Your income amount is in tax bracket 2."); 
      } 
      else 
      { 
       alert("Sorry, I do not have the data to calculate the tax on this income."); 
      } 


      // output 

      document.write("Your Income: &nbsp; $" +userIncome + "<br />"); 


    </script> 
+0

Вы не точно описал проблему. Вернитесь назад и сделайте это. Все, что я вижу, это блок кода, строка, в которой говорится: «... есть ошибка ...» и сведения о задании домашней работы (теперь удалены). – Incognito

+0

Ваше задание звучит так, как будто он был написан кем-то, кто не знает, чему они учат или как его обучать ... – Jonathan

+0

amen Jonathan, AMEN! – StephanieKay

ответ

2

Я установил свой, если/другое заявление, и это, кажется, работает в настоящее время.Я положил его на jsfiddle:

http://jsfiddle.net/gXQXG/13/

Ваш вопрос был

if (userIncome <=1500 && userIncome >=40000)

else if (userIncome <=1500 && userIncome >=25000)

else if (userIncome <=25001 && userIncome >=40000)

Второе утверждение во всех трех должны быть <=

Число не может быть и меньше, чем 1500 и более 4000;)

Следующий шаг

Вы должны заменить константы 1500, 25000 и 40000 с переменными, объявленным, hiIncomeBrack1 и hiIncomeBrack2

Наконец, в вашей логике есть еще одна проблема, но я позволю вам найти ее. Это связано с двумя из <= необходимости быть на самом деле <

ОБНОВЛЕНО кодогенератора

// variable declarations 
var userIncome; 
var minIncomeNoTax; 
var taxPercentBrack1; 
var taxPercentBrack2; 
var hiIncomeBrack1; 
var hiIncomeBrack2; 
var currentTaxBracket; 
var totalTaxDue; 

// Assignments 
userIncome = prompt("Please enter your income in dollar amount.", 0); 
minIncomeNoTax = 1500; 
taxPercentBrack1 = 15/100; 
taxPercentBrack2 = 20/100; 
hiIncomeBrack1 = 25000; 
hiIncomeBrack2 = 40000; 

// Calculations & Output 
if (userIncome >= minIncomeNoTax && userIncome <= hiIncomeBrack2) 
{ //The user's income falls within our range of knowledge. 
    alert("Your income is taxable."); 

    if (userIncome >= minIncomeNoTax && userIncome < hiIncomeBrack1) 
    { //The user falls into our first bracket 
     alert("Your income amount is in tax bracket 1."); 
     currentTaxBracket = taxPercentBrack1; 
    } 
    else if (userIncome >= hiIncomeBrack1 && userIncome <= hiIncomeBrack2) 
    { //The user falls into our second bracket 
     alert("Your income amount is in tax bracket 2."); 
     currentTaxBracket = taxPercentBrack2; 
    } 
} 
else 
{ //Can't help this user, they are not within our limits. 
    alert("Sorry, I do not have the data to calculate the tax on this income."); 
} 


//Figure out the actual amount due 
//Need to use parseInt to convert from string to int.(User types a string into the prompt.) 
totalTaxDue = currentTaxBracket * parseInt(userIncome); 

// output 
document.write("Your Income: &nbsp; $" + userIncome + "<br />"); 
//Multiply the decimal tax rate by 100 so we can print out a nice and clean %. 
document.write("Your Tax Percent: &nbsp; " + (currentTaxBracket * 100) + "%<br />"); 
document.write("Pay Uncle Sam: &nbsp; $" + totalTaxDue + "<br />"); 
+0

ahh, я так запутался .lol, так что мне нужно изменить? – StephanieKay

+0

ОК, потрясающе. Я исправил эту ошибку. теперь вы можете помочь с выяснением части с записью в документ их суммы налога? – StephanieKay

+0

Я запутался .. Извините, это только моя третья неделя класса. :( – StephanieKay