gpt4 book ai didi

java - While-Loop 完成问题和最终值计算

转载 作者:行者123 更新时间:2023-11-29 05:37:03 27 4
gpt4 key购买 nike

我的循环语句有问题,如果不恢复到原始循环条件就无法正确执行。另外,如果我希望我的最终输出包括所购买产品总数的定值(value),我该如何实现?

期望的最终输出:客户购买了全部 9 件商品

Please enter your name: John Smith

GRAPEFRUIT PRODUCT

  1. gPod shuffle $49
  2. gPod Touch $299
  3. gPad Mini $329
  4. gPad 2 $399
  5. gPhone $199
  6. gMac $1299
  7. MacNovel Pro $1199
  8. MacNovel Air $999
  9. MiniMac $599
  10. Complete my order

Please select an item from the menu above: 5

Please select another item from the menu above: 2

Please select another item from the menu above: 7

Please select another item from the menu above: 9

Please select another item from the menu above: 3

Please select another item from the menu above: 4

Please select another item from the menu above: 6

Please select another item from the menu above: 1

Please select another item from the menu above: 8

Please select another item from the menu above: 10 Thank you for ordering with Grapefruit Company, John Smith

Total items ordered: 9

Price of items ordered: $5371

Sales tax: $349.115

Total amount due: $5720.115

这是我的代码:

public static void main(String[] args) {

// Declare Variables
Scanner input = new Scanner (System.in);
String CustomerName;
int gpodShuffle = 1;
int gpodTouch = 2;
int gpadMini = 3;
int gpadTwo = 4;
int gphone = 5;
int gmac = 6;
int macnovelPro = 7;
int macnovelAir = 8;
int miniMac = 9;
int nNumber = 0;
int nProducts = 0;
int nTotal = 0;

//Declare Constants
final int SENTINEL = 10;
final double SALES_TAX = 6.5;
final int GPOD_SHUFFLE = 49;
final int GPOD_TOUCH = 299;
final int GPAD_MINI = 329;
final int GPAD_TWO = 399;
final int GPHONE = 199;
final int GMAC = 1299;
final int MAC_NOVELPRO = 1199;
final int MAC_NOVELAIR = 999;
final int MINI_MAC = 599;

//Prompt user to enter name
System.out.println("Please enter your name: ");

//Enter user name
CustomerName = input.nextLine();

//Print Blank Line
System.out.println("");

//Begin Product Listing
System.out.println("GRAPEFRUIT PRODUCT:");

System.out.println("1. gPod shuffle $49");

System.out.println("2. gPod Touch $299");

System.out.println("3. gPad Mini $329");

System.out.println("4. gPad 2 $399");

System.out.println("5. gPhone $199");

System.out.println("6. gMac $1299");

System.out.println("7. MacNovel Pro $1199");

System.out.println("8. MacNovel Air $999");

System.out.println("9. MiniMac $599");

System.out.println("10. Complete my order");

//Keep reading until the input is 10
while (nNumber != SENTINEL) {
//Calculate entered items
nTotal = nTotal + nNumber;

nProducts++;

System.out.println("\nPlease select an item from the menu above: ");

//Read number entered by the user
nNumber = input.nextInt();

if (nNumber == SENTINEL)
System.out.println("Thank you for ordering with Grapefruit Company, " + CustomerName);
else if (nNumber != SENTINEL)
System.out.println("Please select another item from the menu above: ");
} //End Loop



//Process selections entered by the user

//Increment count


//Print blank line to screen
System.out.println("");

//Total amount of product ordered
System.out.println("Total items ordered: ");

//Total price of items ordered
System.out.println("Price of items ordered: ");

//Sales tax associated with the purchase
System.out.println("Sales tax: " + SALES_TAX);

//Total amount due by the customer to Grapefruit Co.
System.out.println("Total amount due: ");


}

}

最佳答案

这真的很需要添加某种类来保存这些项目,以便您可以轻松地遍历这些项目。

但是在这种情况下你可以做什么:

  • 将项目的价格保存在一个数组中。

    int [] itemPrices = {49,299,329,399,199,1299,1199,999,599};
  • 更新您的打印报表

    System.out.println("1. gPod shuffle $" + prices[0]);

    System.out.println("2. gPod Touch $" + prices[1]);

    System.out.println("3. gPad Mini $" + prices[2]);

    System.out.println("4. gPad 2 $" + prices[3]);

    System.out.println("5. gPhone $" + prices[4]);

    System.out.println("6. gMac $" + prices[5]);

    System.out.println("7. MacNovel Pro $" + prices[6]);

    System.out.println("8. MacNovel Air $" + prices[7]);

    System.out.println("9. MiniMac $" + prices[8]);
  • 更新 while 循环以引用这些商品价格

    // Keep reading until the input is 10
    while (nNumber != SENTINEL)
    {

    System.out.println("\nPlease select an item from the menu above: ");

    // Read number entered by the user
    nNumber = input.nextInt();

    if (nNumber == SENTINEL)
    {
    System.out.println("Thank you for ordering with Grapefruit Company, " + CustomerName);
    // The user's just entered the value held for SENTINEL - leave the while loop.
    break;
    }

    // Calculate the total price.
    nTotal = nTotal + prices[nNumber-1];


    // Increment the total number of products entered.
    nProducts++;
    }
  • 更新您的最终打印报表:

        //Total amount of product ordered
    System.out.println("Total items ordered: " + nProducts);

    //Total price of items ordered
    System.out.println("Price of items ordered: "+nTotal);

    //Sales tax associated with the purchase
    System.out.println("Sales tax: " + SALES_TAX);

我会留给您解决如何获得应付总额:)

关于java - While-Loop 完成问题和最终值计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19125565/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com