我编写了以下程序,但在尝试将“calculateTotalPrice”方法调用回主方法以计算最终定价时遇到问题。我不确定这是我的方法还是我的电话错误。Main 无需调用“calculateTotalPrice”方法即可按需要工作。任何人都可以就我应该如何重新排列辅助方法或调用语句提供任何建议吗?谢谢
public class GrapefruitOrderingArray {
//Declare Constants
public static final int SIZE = 100;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Declare Variables
Scanner input = new Scanner (System.in); //Input new scanner system
String CustomerName; //Declare customer's name as a string
int nNumber = 0; //Declare integer variable for nNumber
int nProducts = 0; //Declare integer variable for nproducts
int nTotal; //Declare integer variable for ntotal
double[] nFinalPrice = new double [SIZE];
int [] itemPrices = {49,299,329,399,199,1299,1199,999,599}; //Declare integer variable array
int nCount = 0;
//Declare Constants
final int SENTINEL = 10;
final double SALES_TAX = 0.065;
//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 Declarations with respect to array above
System.out.println("GRAPEFRUIT PRODUCT:");
System.out.println("1. gPod shuffle $" + itemPrices[0]);
System.out.println("2. gPod Touch $" + itemPrices[1]);
System.out.println("3. gPad Mini $" + itemPrices[2]);
System.out.println("4. gPad 2 $" + itemPrices[3]);
System.out.println("5. gPhone $" + itemPrices[4]);
System.out.println("6. gMac $" + itemPrices[5]);
System.out.println("7. MacNovel Pro $" + itemPrices[6]);
System.out.println("8. MacNovel Air $" + itemPrices[7]);
System.out.println("9. MiniMac $" + itemPrices[8]);
System.out.println("10. Complete my order");
// Keep reading until the input is 10
System.out.println("\nPlease select an item from the menu above: ");
//Begin while-loop statement
while (nNumber != SENTINEL) {
//Read number entered by the user
nNumber = input.nextInt();
if (nNumber == SENTINEL) {
System.out.println("Thank you for ordering with Grapefruit Company, " + CustomerName);
break;
}
//Call final price calculation
nFinalPrice = calculateTotalPrice(nNumber);
//If desired the user may select another or multiple products now
System.out.println("\nPlease select another item from the menu above: ");
}
//Print blank line to screen
System.out.println("");
//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 * nTotal );
//Total amount due by the customer to Grapefruit Co.
System.out.println("Total amount due: $" + (SALES_TAX * nTotal + nTotal));
}
} //End main method
/**
* This method calculates the total price of the products ordered
* @param itemPrice Individualized product prices
* @param nProduct Total price of items paid for
* @return nTotals Returns the number of the product associated with it's initialized price
*/
private static double[] calculateTotalPrice(int nNumber) {
//Calculate entered items
nTotal = nTotal + itemPrices [nNumber-1];
//Increment the total number of products entered
nProducts++;
return nNumber;
} //end method calculateTotalPriceOfItemsOrdered
} //end class calculateTotalPriceOfItemsOrdered