• 第4次作业类测试代码+063+陈彧


    一、类图

    二、代码

    package swing;
    
    import java.awt.EventQueue;
    import java.awt.SystemColor;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    
    public class Swing {
    
    	private JFrame frame;
    	private JTextField textField_headphone;
    	private JTextField textField_shell;
    	private JTextField textField_protector;
    	private JTextField textField_return;
    	private JTextField textField_max;
    	private JTextField textField_difference;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Swing window = new Swing();
    					window.frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the application.
    	 */
    	public Swing() {
    		initialize();
    	}
    
    	/**
    	 * Initialize the contents of the frame.
    	 */
    	private void initialize() {
    		frame = new JFrame();
    		frame.setTitle("u624Bu673Au914Du4EF6u4F63u91D1u8BA1u7B97u7A0Bu5E8F");
    		frame.getContentPane().setBackground(SystemColor.menu);
    		frame.setBounds(100, 100, 450, 300);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.getContentPane().setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("u8BF7u8F93u5165u9500u552Eu6570u91CFuFF1A");
    		lblNewLabel.setBounds(10, 10, 131, 15);
    		frame.getContentPane().add(lblNewLabel);
    		
    		JLabel label = new JLabel("u8033u673AuFF1A");
    		label.setBounds(10, 51, 46, 15);
    		frame.getContentPane().add(label);
    		
    		JLabel label_1 = new JLabel("u624Bu673Au58F3uFF1A");
    		label_1.setBounds(142, 51, 57, 15);
    		frame.getContentPane().add(label_1);
    		
    		JLabel lblNewLabel_1 = new JLabel("u8D34u819CuFF1A");
    		lblNewLabel_1.setBounds(285, 51, 57, 15);
    		frame.getContentPane().add(lblNewLabel_1);
    		
    		textField_headphone = new JTextField();
    		textField_headphone.setBounds(50, 48, 66, 21);
    		frame.getContentPane().add(textField_headphone);
    		textField_headphone.setColumns(10);
    		
    		textField_shell = new JTextField();
    		textField_shell.setBounds(198, 48, 66, 21);
    		frame.getContentPane().add(textField_shell);
    		textField_shell.setColumns(10);
    		
    		textField_protector = new JTextField();
    		textField_protector.setBounds(326, 48, 66, 21);
    		frame.getContentPane().add(textField_protector);
    		textField_protector.setColumns(10);
    		
    		JLabel label_2 = new JLabel("u5E94u8FD4u8FD8u7684u4F63u91D1uFF1A");
    		label_2.setBounds(10, 132, 106, 15);
    		frame.getContentPane().add(label_2);
    		
    		textField_return = new JTextField();
    		textField_return.setEditable(false);
    		textField_return.setBounds(198, 129, 194, 21);
    		frame.getContentPane().add(textField_return);
    		textField_return.setColumns(10);
    		
    		JLabel label_3 = new JLabel("u9500u552Eu989Du6700u9AD8u7684u914Du4EF6uFF1A");
    		label_3.setBounds(10, 165, 131, 15);
    		frame.getContentPane().add(label_3);
    		
    		JLabel label_4 = new JLabel("u9500u552Eu914Du4EF6u6700u591Au4E0Eu6700u5C11u6570u91CFu76F8u5DEEuFF1A");
    		label_4.setBounds(10, 198, 189, 15);
    		frame.getContentPane().add(label_4);
    		
    		textField_max = new JTextField();
    		textField_max.setEditable(false);
    		textField_max.setBounds(198, 162, 194, 21);
    		frame.getContentPane().add(textField_max);
    		textField_max.setColumns(10);
    		
    		textField_difference = new JTextField();
    		textField_difference.setEditable(false);
    		textField_difference.setBounds(198, 195, 194, 21);
    		frame.getContentPane().add(textField_difference);
    		textField_difference.setColumns(10);
    		
    		JButton btnOk = new JButton("OK");
    		btnOk.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				int headphone = Commission.changeToInt(textField_headphone.getText());
    				if(headphone < 0) {
    					JOptionPane.showMessageDialog(null, "输入有误,请重新输入", "出错", JOptionPane.ERROR_MESSAGE);
    					return;
    				}
    				int protector=Commission.changeToInt(textField_protector.getText());
    				if(protector < 0) {
    					JOptionPane.showMessageDialog(null, "输入有误,请重新输入", "出错", JOptionPane.ERROR_MESSAGE);
    					return;
    				}
    				int shell=Commission.changeToInt(textField_shell.getText());
    				if(shell < 0) {
    					JOptionPane.showMessageDialog(null, "输入有误,请重新输入", "出错", JOptionPane.ERROR_MESSAGE);
    					return;
    				}
    				float returnAns=Commission.commission(headphone, shell, protector);
    				String returnString=String.format("佣金金额:%.2f元", returnAns);
    				textField_return.setText(returnString);
    				String maxAns=Commission.mostSale(headphone, shell, protector);
    				textField_max.setText(maxAns);
    				int differenceAns=Commission.diffSale(headphone, shell, protector);
    				String differenceString=String.format("%d", differenceAns);
    				textField_difference.setText(differenceString);
    			}
    		});
    		btnOk.setBounds(10, 87, 93, 23);
    		frame.getContentPane().add(btnOk);
    		
    		JButton btnCancle = new JButton("Cancle");
    		btnCancle.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				textField_headphone.setText("");
    				textField_protector.setText("");
    				textField_shell.setText("");
    				textField_return.setText("");
    				textField_max.setText("");
    				textField_difference.setText("");
    			}
    		});
    		btnCancle.setBounds(299, 87, 93, 23);
    		frame.getContentPane().add(btnCancle);
    	}
    }
    

      

    package swing;
    
     
    public class Commission{
        //String To Int
        public static int changeToInt(String number){
            int ans=0;
            try{
                ans = Integer.parseInt(number);
            }
            catch (Exception e){
                ans=-1;
                // TODO: handle exception
            }
            return ans;
        }
         
        //计算佣金
        public static float commission(int headphone, int shell, int protector){
            if(headphone < 0 || shell < 0 || protector < 0){
                return -1.0f;
            }
             
            float ans = 0.0f;
            long sum = 80 * headphone + 10 * shell + 8 * protector;
             
            if(sum < 1000){
                ans = sum * 0.1f;
            }
            else if(sum >= 1000 && sum <= 1800){
                ans = 100.0f + (sum - 1000) * 0.15f;
            }
            else{
                ans = (sum - 1800.0f) * 0.2f + 220.0f;
            }
             
            return ans;
        }
        
        //销售额最高的配件
        public static String mostSale(int headphone, int shell, int protector){
        	long headphoneSales = headphone * 80;
        	long shellSales = shell * 10;
        	long protectorSales = protector * 8;
        	String ans="";
        	if(headphoneSales >= shellSales && headphoneSales >= protectorSales){
            	ans+="耳机";
        	}
        	if(shellSales >= headphoneSales && shellSales >= protectorSales){
        		if(ans.equals("")){
        			ans+="手机壳";
        		}
        		else{
        			ans+="与手机壳";
        		}
        	}
        	if(protectorSales >= headphoneSales && protectorSales >= shellSales){
        		if(ans.equals("")){
        			ans+="贴膜";
        		}
        		else{
        			ans+="与贴膜";
        		}
        	}
        	return ans;
        }
        
        //销售配件最多与最少数量相差:
        public static int diffSale(int headphone, int shell, int protector){
        	int max=Math.max(Math.max(headphone, shell), protector);
        	int min=Math.min(Math.min(headphone, shell), protector);
        	return max-min;
        }
    }
    

      三、界面

    PS:第一次用JAVA写界面,根本不会做。拜访了很多大佬才了解了一点基础。感觉上了一门实际是JAVA课的软测课。

  • 相关阅读:
    第二阶段站立会议05
    第二阶段站立会议04
    第一阶段冲刺总结
    站立会议08
    站立会议07
    站立会议06
    站立会议05
    站立会议04
    第一次冲刺第3天
    站立会议2
  • 原文地址:https://www.cnblogs.com/ChainYugi/p/6792428.html
Copyright © 2020-2023  润新知