2015-02-05 108 views
-2

编写一个程序,读取他们购买的橘子,鸡蛋,苹果,西瓜和百吉饼的总数。计算使用以下的价格每件商品的总账单和小计:计算总帐单和小计

a.Oranges: 10 for 2.99/0.50 each 
b.Eggs: 12 for 1.69/0.25 each 
c.Apples: 3 for 1.00/0.75 each 
d.Watermelons: 4.39 each 
e.Bagels: 6 for 3.50/0.95 each 

我是一个有点困惑的是什么方法,我应该使用程序/解决这个问题?我正在考虑使用If声明,但我认为这不是一个好主意。我应该如何开始我的编码?这是我第一次遇到价格体系(我认为折扣?)修正了每件商品的价格。这让我觉得我怎么可以做一个“2.99 for 10 apples”,而一个苹果是0.50?“我应该使用折扣吗?我的心灵现在正在流血--_-

+1

打破小零件的问题,并尝试逐个实施每个零件。 – 2015-02-05 16:04:41

+0

做一些java教程。尝试一下,一旦你有一些代码,但它不起作用问一个问题,并添加你的代码 – phil652 2015-02-05 16:07:30

+0

什么@Prera​​kSola说:把问题分成小部分。例如,你会如何做到这一点没有折扣? – 2015-02-05 16:10:24

回答

1

这是一个解决问题的算法。步骤和实施的逻辑。我相信你会得到最终的结果。

  1. 就拿算一种水果和显示。
  2. 从计数,通过采取率计算子总价每件显示小计
  3. 将您在第二步中获得的小计存储在单独的变量中,并将di展开它。
  4. 现在按照步骤1到3为其他水果,将每个水果的小计存储在一个单独的变量中。
  5. 通过添加所有小计变量的值来计算最终总计。
  6. 要应用折扣,您可以使用简单的if...else逻辑以及一些算术运算符。

    6.1将计数除以10(对于桔子)并将其存储在名为tmp的变量中。

    6.2如果TMP是大于0,

    • 小计= TMP * price_of_10

    • 计数=计数 - (TMP * 10)

    • 小计=小计+(计数* price_of_1)

    6.3如果tmp等于零

    • 小计=计数* price_of_1
0

我可以帮你上手。我不想给你所有的代码,因为我仍然希望你从中学习。

//Read number of Oranges here 
//Some code 
if(number = 10) price = 2.99 
else price = number*0.50 
total += price 

其他产品重复,不要忘了改价值

编辑:如果你想购买超过10,仍然可以得到折扣,你需要做这样的事情

int ten = 0; 
Double rest =0; 

if(number/10 >= 1){ 
    ten = number/10; 
    rest = number%10; 
    price = ten*2.99 + rest*0.50; 
}else{ 
    price = number*0.50 
    }  
total += price 
+0

买2.99为2.99,然后回来购买0.50(2.49)11,而不是购买11.50 5.50?啊... – laune 2015-02-05 16:46:32

+0

我更新了我的答案 – phil652 2015-02-05 17:05:35