Javaじゃなくてすみません。Pythonだとこんな感じだと思います。あとDBへの接続は省いてます。
python
1# ほんとはデータベースから引いてくる
2def get_product(code):
3 products = [
4 {
5 'code': '1',
6 'product': 'foo',
7 'price': 100
8 },
9 {
10 'code': '2',
11 'product': 'bar',
12 'price': 200
13 }
14 ]
15
16 for product in products:
17 if product['code'] == code:
18 return product
19
20 return None
21
22
23# 商品を選択する
24basket = []
25while True:
26 code = input()
27 if code == '*':
28 break
29 basket.append(code)
30
31
32# 買い上げ商品をカウントする
33accounts = {}
34for code in basket:
35 accounts[code] = accounts.get(code, 0) + 1
36
37
38# 明細書を表示する
39total_price = 0
40for code in accounts.keys():
41 product = get_product(code)
42 if product is not None:
43 price = product['price'] * accounts[code]
44 print("%s %s %s" % (code, product['product'], price))
45 total_price += price
46
47print('---------------')
48print("total = %d" % total_price)
49
実行結果
1
2
2
*
1 foo 100
2 bar 400
---------------
total = 500