3

我应该创建一个收银程序,提示输入物品的数量,然后根据物品的数量,提示每个单独的价格,然后计算总数。我很难掌握如何使用“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++;
}
4

5 回答 5

0

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

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

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

于 2012-10-22T15:33:16.580 回答
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++
}
于 2012-10-22T15:33:19.933 回答
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);

希望有帮助。即使它可能是你的家庭作业。

于 2012-10-22T15:35:55.467 回答
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/

于 2012-10-22T15:36:49.430 回答
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);

​</p>

于 2012-10-22T15:39:02.633 回答