非常简单现金循环

时间:2012-10-22 15:27:28

标签: javascript

我应该创建一个收银机程序,提示项目数量,然后根据项目数量,提示每个项目的价格,然后计算总数。我很难掌握如何使用'while'循环来做到这一点。有人能指出我正确的方向吗?

这就是我现在所拥有的:我明白它会创建一个无限循环

var itemTotal = prompt("Please enter the amount of items that you're purchasing.");

items = parseInt(itemTotal)

var i = 0;

while(i = items) {

    prompt ("Enter your item price here.");

    i++;
}

5 个答案:

答案 0 :(得分:0)

您希望while循环中的表达式在您希望循环时为true。在这种情况下,您希望i小于items

while ( i < items ) {
    /* get cost */
    /* add cost to total */
    i++;
}

我忘了指出i = items会将items的值分配给i。要检查i是否等于items,您需要使用i == items

答案 1 :(得分:0)

如果您知道项目数(来自您的用户提示)为什么不使用for循环?要么会工作,但我认为for循环会更具可读性。

for (i=1; i <= NUM_FROM_PROMPT; i++) {
    //do something here
}

带有while循环

i=1 //starting point
while (i <= NUM_FROM_PROMPT) {
    //do something here
    i++
}

答案 2 :(得分:0)

所以我试着得到你想要的东西:

var total = parseInt(prompt("How much items total?", "0"));

var price = 0;
for (var i = 0;i<total.length;i++) {
    var individualPrice = prompt("How much does item " + (i+1) + " cost?", 0);
    price+=parseInt(individualPrice);
}
alert("Total Price is " + price);

希望有所帮助。即使它可能是你的功课。

答案 3 :(得分:0)

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/while

在该文档链接中,他们有一个看起来像这样的例子。

n = 0;
x = 0;
while (n < 3) {
  n ++;
  x += n;
}

因此您可以将此作为收银机计划的指南。

//get user input for number of items
var num_of_items = prompt("How many items?");
var n = 0;
var total = 0;

while (n < num_of_items) {
  n ++;

  //get cost of item
  var cost_of_item = 0;

   cost_of_item = parseInt(prompt("Cost of item"));

  total = total + cost_of_item;

}
alert("total price: " + total);
​

我不确定你是如何处理用户输入的,所以我已经把它留给你了解:)

http://jsfiddle.net/Robodude/LEdbm/3/

答案 4 :(得分:0)

var itemTotal = Number(prompt("Please enter the amount of items that you're purchasing."));
var priceTotal = 0

while(itemTotal) {
    priceTotal += Number(prompt("Enter your item price here."));
    itemTotal--;
}

alert("Please pay " + priceTotal);