JavaScript分配 - 条件(IF / Else语句)

时间:2012-02-06 02:47:41

标签: javascript

赋值的基础是使用if / else if语句来设置脚本。我需要一些帮助来完成if / else部分以及某人查看任何错误。这是作业:

使用IF和IF / Else语句在一个HTML文档中编写JavaScript代码,用于以下三种情况。对于每一个,请务必为每个部分写评论。

根据收入确定税率以及税收对税收的影响。

变量声明部分 1.声明一个包含用户输入的收入金额的变量。 2.声明一个变量,其中包含不征收最低收入的最低收入。 3.声明一个包含税率1的税率的变量。 4.声明一个包含税号2的税率的变量。 5.声明一个变量,其中包含税率为1的最高收入。 6.声明一个变量,其中包含税率为2的最高收入。

作业部分 7.分配1500美元作为不征收税款的最高收入金额。 8.将税率1的最高收入分配为25,000美元,将税率百分比分配为15%。任何超过25,000美元的东西都在下一个税级。 9.将税率2的最高收入分配为40,000美元,将税率百分比分配为20%。任何超过40,000美元的东西都在下一个税级。 10.要求用户输入金额。 11.将输入的数据转换为数字。

逻辑和输出部分 12.仅使用逻辑中的变量。 13.确定输入的美元金额是否应纳税。 14.确定美元金额是否在税号1或2中。 15.计算美元金额的税额,并显示一条消息,告诉用户他们输入的数量的税额是多少。 16.对于金额超过4万美元的金额,显示消息“我没有数据来计算这笔收入的税。

测试:尝试等于每个括号的最高收入的值和无税的最高收入。尝试大于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>

1 个答案:

答案 0 :(得分:2)

我修复了你的if / else语句,现在似乎工作了。我把它放在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;)

下一步

您应该使用您声明的变量hiIncomeBrack1和hiIncomeBrack2

替换常量1500,25000和40000

最后,你的逻辑中还有一个问题,但是,我会让你找到那个问题。它与需要实际为<=

<中的两个有关

更新代码

// 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 />");