Я участвую в классе программирования в старшей школе, и мне дали задание сделать основной субтотальный и верхний калькулятор, но я работаю в ресторане, поэтому было немного бессмысленно делать калькулятор, который позволял вам читать в одном блюде. Поэтому я попытался сделать его способным принимать несколько продуктов питания и добавить их к одной переменной цены. Извините, если некоторые из этого кода могут показаться неэффективными или избыточными. Конечно, это только средняя школа.Запись для петель/петель?
Вопрос:, когда я запустил его, он встал на вопрос, есть ли еще один пищевой продукт, который пользователь хотел бы добавить, и когда я набираю «Да» или «Нет», программа делает ничего. Продолжает работать, но не идет дальше. Любые объяснения?
import java.text.NumberFormat;
import java.util.Scanner;
public class Price {
/**
* @param args
*/
public static void main(String[] args) {
final double taxRate = .0887; //8.87% Tax Rate
double tipRate;
int quantity1;
Scanner kb = new Scanner(System.in);
double subtotal, tax, tip, totalCost1, unitPrice1 = 0;
String done;
System.out.println ("How many of the first item did you get?: ");
quantity1 = kb.nextInt();
for (int i = 0; i < quantity1; i++)
{
System.out.println ("What was the price of that single item "+(i+1) + ": ");
unitPrice1 = kb.nextDouble();
System.out.println ("Was there another food item you'd like to add?: ");
done=kb.next();
while (done.equalsIgnoreCase("Yes"));
}
System.out.println ("What percent would you like to tip? (Formatted like 0.10 for 10%, 0.20 for 20%, etc.): ");
tipRate = kb.nextDouble();
subtotal= quantity1 * unitPrice1;
tax = subtotal * taxRate;
totalCost1 = subtotal + tax;
tip = totalCost1 * tipRate;
totalCost1 = totalCost1 + tip;
//Formatting
NumberFormat money = NumberFormat.getCurrencyInstance();
NumberFormat tipMoney = NumberFormat.getCurrencyInstance();
NumberFormat taxPercent = NumberFormat.getPercentInstance();
NumberFormat tipPercent = NumberFormat.getPercentInstance();
System.out.println ("Your total before tax is: " + money.format(subtotal));
System.out.println ("The tax is " + money.format(tax) + " at " + tipPercent.format(taxRate));
System.out.println ("The tip at " + tipPercent.format(tipRate) + " is " + tipMoney.format(tip));
}
}
Спасибо! Я исправил это, но теперь моя проблема в том, что он не добавляет несколько итогов вместе. Если я добавлю два элемента за 10 долларов, в промежуточном итоговом счете все равно выйдет всего 10 долларов. Извините за тему jump, но вы видите, в чем проблема? – jacobl
Ну, из вашего текущего кода в его нынешнем виде вы в конечном итоге получаете последнюю введенную стоимость ('unitPrice1'). Вместо этого вы должны вычислять и поддерживать промежуточный итог в цикле (как я показал выше). –
Редактировать - Еще раз спасибо! Я добавил это как комментарий, чтобы поговорить с моим учителем. Но это имеет смысл. Благодаря! – jacobl