頁:
[1]
飲料交易系統2 折扣功能問題(java)
本帖最後由 h4674156 於 2015-12-31 12:47 AM 編輯各位前輩們好
小弟目前的問題是如果輸入單項品項數量超過10杯 按下計算會顯示折扣後金額
但是如果多項品項數量如果相加也有超過10杯 也有選擇品項 但按下計算則還是原來單項價格加乘 仍還是原價該怎麼讓它有不同品項抓取數量 也有折扣呢?
以下為程式碼部分
package beverages;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Shop extends Frame {
static JFrame jframe = new JFrame();
static JButton button[] = new JButton;
static JCheckBox jcheckbox[] = new JCheckBox;
static Panel panel;
static JLabel jlabel[] = new JLabel;
static JTextField jtextfield[] = new JTextField;
static int price[] = new int;
static String titleGUI;
public static void main(String[] args) {
// TODO Auto-generated method stub
Shop test = new Shop();
}
public Shop() {
Container cp = jframe.getContentPane();
cp.setLayout(null);
jframe.setBackground(Color.PINK);
jframe.setSize(760, 320);
setTitle("飲料選購程式");
jlabel = new JLabel("勾選飲料種類,並在輸入框杯數,若是您的訂購不足1杯,將以1杯價格計算 金額為");
jlabel.setBounds((jframe.getWidth() / 2) - (430 / 2) - 30, 10, 760, 12);
cp.add(jlabel);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 25;
jcheckbox.setText("原鄉四季/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 40, 150, 26);
jtextfield.setBounds(180, 40, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 20;
jcheckbox.setText("翡翠綠茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 70, 150, 26);
jtextfield.setBounds(180, 70, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 20;
jcheckbox.setText("嚴選高山茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 16));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 100, 150, 26);
jtextfield.setBounds(180, 100, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 45;
jcheckbox.setText("紅茶拿鐵/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 130, 150, 26);
jtextfield.setBounds(180, 130, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 40;
jcheckbox.setText("錫蘭奶茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 160, 150, 26);
jtextfield.setBounds(180, 160, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 40;
jcheckbox.setText("珍珠紅茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 190, 150, 26);
jtextfield.setBounds(180, 190, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 40;
jcheckbox.setText("椰果奶茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(30, 220, 150, 26);
jtextfield.setBounds(180, 220, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 25;
jcheckbox.setText("茉香綠茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 40, 150, 26);
jtextfield.setBounds(420, 40, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 25;
jcheckbox.setText("極品菁茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 70, 150, 26);
jtextfield.setBounds(420, 70, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 20;
jcheckbox.setText("特選苔洱/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 100, 150, 26);
jtextfield.setBounds(420, 100, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 45;
jcheckbox.setText("優鮮冬瓜/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 130, 150, 26);
jtextfield.setBounds(420, 130, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 40;
jcheckbox.setText("茉香奶綠/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 160, 150, 26);
jtextfield.setBounds(420, 160, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 40;
jcheckbox.setText("粉圓奶茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 190, 150, 26);
jtextfield.setBounds(420, 190, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 50;
jcheckbox.setText("蜜蜂奶茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(270, 220, 150, 26);
jtextfield.setBounds(420, 220, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 20;
jcheckbox.setText("烏龍綠茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(510, 40, 150, 26);
jtextfield.setBounds(660, 40, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 20;
jcheckbox.setText("錫蘭紅茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(510, 70, 150, 26);
jtextfield.setBounds(660, 70, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 45;
jcheckbox.setText("優鮮高山/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(510, 100, 150, 26);
jtextfield.setBounds(660, 100, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 45;
jcheckbox.setText("豆漿牛奶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(510, 130, 150, 26);
jtextfield.setBounds(660, 130, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 40;
jcheckbox.setText("烏龍奶茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(510, 160, 150, 26);
jtextfield.setBounds(660, 160, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
jcheckbox = new JCheckBox();
jtextfield = new JTextField(20);
price = 45;
jcheckbox.setText("布丁奶茶/" + price + "元");
jtextfield.setText("0");
jcheckbox.setFont(new Font("System", Font.BOLD, 18));
jtextfield.setFont(new Font("System", Font.BOLD, 16));
jcheckbox.setBounds(510, 190, 150, 26);
jtextfield.setBounds(660, 190, 60, 26);
cp.add(jcheckbox);
cp.add(jtextfield);
button = new JButton("送出資料");
button = new JButton("計算");
button = new JButton("關閉程式");
button.setFont(new Font("System", Font.BOLD, 14));
button.setFont(new Font("System", Font.BOLD, 12));
button.setFont(new Font("System", Font.BOLD, 14));
button.setBounds(485 - 3, 220, 100, 26);
button.setBounds(485 + 100 + 1, 220, 60, 26);
button.setBounds(485 + 100 + 60 + 5, 220, 100, 26);
cp.add(button);
cp.add(button);
cp.add(button);
button.addActionListener((ActionEvent e) ->...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 有點亂,看不太懂。
是隨便選一項商品10個以上也有打折?Y/N
是隨便選10個以上都有打折?Y/N
假設
椰果奶茶 買 12杯
其他的都各買一杯
你的算法是怎樣的算呢? 本帖最後由 h4674156 於 2016-1-3 01:49 PM 編輯
www10240mb 發表於 2016-1-2 04:56 PM static/image/common/back.gif
有點亂,看不太懂。
是隨便選一項商品10個以上也有打折?Y/N
是隨便選10個以上都有打折?Y/N
就是假如椰果奶茶買11杯 會做折扣
或者 椰果奶茶買5杯 紅茶買6杯 兩種杯數相加也會有折扣
當然前提是要有選擇下(勾選)才有辦法折扣
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> 看看這個是不是你要的結果!
本帖最後由 h4674156 於 2016-1-6 11:06 PM 編輯
www10240mb 發表於 2016-1-3 03:01 PM static/image/common/back.gif
看看這個是不是你要的結果!
對 那可以再問您
就是怎麼讓它 假如沒有勾選品項 但是有輸入杯數 他會自動勾選checkbox呢?
例如:我想買2杯紅茶 只有在紅茶的杯數那打2 他所對應的checkbox會自動勾選
目前這樣
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div> 我照樣拿我的版本修改,因為我之前的以簡單方式寫的,但程式碼會太長。
已有在縮減的原始碼內TEXT有對照你的"目前這樣(原始碼.rar)"進行文字修正了。
新增: 杯數 >= 1,自動勾選該項,若輸入數字以外的數字,顯示錯誤訊息。
修正: 杯數非數字,顯示錯誤訊息。 www10240mb 發表於 2016-1-7 07:14 AM static/image/common/back.gif
我照樣拿我的版本修改,因為我之前的以簡單方式寫的,但程式碼會太長。
已有在縮減的原始碼內TEXT有對照你 ...
我使用我的方式 它可以成功執行 但是會跳錯誤...
那是因為我第一開始幫妳寫的版本 我先用Array 長度都設為"99"的關係,二次縮減版本是以明確固定長度,所以你直接將我第二次修的一部分,套用至第一次的能執行,但是長度太多空的,空的沒有new 所以會有錯誤訊息的。 若以上自有打錯請見諒,我打字時,一次打到底 都沒有檢查的。
www10240mb 發表於 2016-1-8 06:55 AM static/image/common/back.gif
若以上自有打錯請見諒,我打字時,一次打到底 都沒有檢查的。
好的 謝謝前輩:)
目前問題已經解決<br><br><br><br><br><div></div> www10240mb 發表於 2016-1-8 06:55 AM static/image/common/back.gif
若以上自有打錯請見諒,我打字時,一次打到底 都沒有檢查的。
如果再加上功能列 感覺就更像一個小型訂單程式了:) 恩,但我也只是新手,懂的並不多要+功能表,我就要先學習學習。 我簡單寫了一個 重置 和關閉的 功能表
頁:
[1]