1类图:
2.界面和相应的功能:
主要代码:
public class Main extends JFrame {
private JPanel contentPane;
private JTextField ej_num;
private JTextField sjk_num;
private JTextField sjtm_num;
private JTextField sum;
private JTextField max;
private JTextField cut;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
static int tu(String a)
{
int back;
char a_c[]=a.toCharArray();
int len=a.length();
for(int i=0;i<=len-1;i++)
{
if( a_c[i]>'9' || a_c[i]<'0')
{
back=-1;
return back;
}
}
back=Integer.parseInt(a);
return back;
}
public static double commission(int headphone,int shell,int protector)
{
double back = 0;
float sum = 0;
sum=headphone*80+shell*10+protector*8;
if(sum<1000)
{
back=sum*0.1; //小于1000时所抽取的佣金
}
else if(sum>=1000 && sum<=1800)
{
back=100+(sum-1000)*0.15;//计算1000--1800的佣金
}
else if(sum>=1800)
{
back=220+(sum-1800)*0.2;//1800以上的佣金
}
return back;
}
public static int headphone_sum(int a)
{
return a*80;
}
public static int shell_sum(int a)
{
return a*10;
}
public static int protector_sum(int a)
{
return a*8;
}
public static int max_min(int a,int b,int c)
{
int max=a;
int min=a;
if(max<b)
{
max=b;
}
if(max<c)
{
max=c;
}
if(min>b)
{
min=b;
}
if(min>c)
{
min=c;
}
return max-min;
}
public static String high(int a,int b,int c)
{
String high_s="耳机";
int max=headphone_sum(a);
if(max<shell_sum(b))
{
max=shell_sum(b);
high_s="手机壳";
}
if(max<protector_sum(c))
{
max=protector_sum(c);
high_s="手机贴膜";
}
return high_s;
}
/**
* Create the frame.
*/
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 504, 347);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel label = new JLabel("\u8BF7\u8F93\u5165\u914D\u4EF6\u7684\u9500\u552E\u91CF\uFF1A");
label.setBounds(10, 10, 138, 23);
contentPane.add(label);
JLabel label_1 = new JLabel("\u8033\u673A\uFF1A");
label_1.setBounds(20, 43, 54, 15);
contentPane.add(label_1);
ej_num = new JTextField();
ej_num.setBounds(57, 40, 66, 21);
contentPane.add(ej_num);
ej_num.setColumns(10);
JLabel label_2 = new JLabel("\u624B\u673A\u58F3\uFF1A");
label_2.setBounds(144, 43, 54, 15);
contentPane.add(label_2);
sjk_num = new JTextField();
sjk_num.setBounds(208, 40, 66, 21);
contentPane.add(sjk_num);
sjk_num.setColumns(10);
JLabel label_3 = new JLabel("\u624B\u673A\u8D34\u819C\uFF1A");
label_3.setBounds(293, 43, 66, 15);
contentPane.add(label_3);
sjtm_num = new JTextField();
sjtm_num.setBounds(369, 40, 66, 21);
contentPane.add(sjtm_num);
sjtm_num.setColumns(10);
JButton btnOk = new JButton("ok");
btnOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String ej=ej_num.getText();
String sjk=sjk_num.getText();
String sjtm=sjtm_num.getText();
if( tu(ej)==-1 || tu(sjk)==-1 || tu(sjtm)==-1)
{
JOptionPane.showMessageDialog(null, "输入的数据必须是整数!", "标题",JOptionPane.WARNING_MESSAGE);
ej_num.setText("");
sjk_num.setText("");
sjtm_num.setText("");
sum.setText("");
max.setText("");
cut.setText("");
}
else
{
int ej_i=tu(ej);
int sjk_i=tu(sjk);
int sjtm_i=tu(sjtm);
sum.setText(Double.toString(commission(ej_i,sjk_i,sjtm_i)));
cut.setText(Integer.toString(max_min(ej_i,sjk_i,sjtm_i)));
max.setText(high(ej_i,sjk_i,sjtm_i));
}
}
});
btnOk.setBounds(99, 82, 93, 23);
contentPane.add(btnOk);
JButton btncancel = new JButton("cancel");
btncancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ej_num.setText("");
sjk_num.setText("");
sjtm_num.setText("");
sum.setText("");
max.setText("");
cut.setText("");
}
});
btncancel.setBounds(266, 82, 93, 23);
contentPane.add(btncancel);
JLabel label_4 = new JLabel("\u5E94\u8FD4\u8FD8\u7684\u4F63\u91D1\uFF1A");
label_4.setBounds(20, 129, 93, 15);
contentPane.add(label_4);
JLabel label_5 = new JLabel("\u9500\u552E\u989D\u6700\u9AD8\u7684\u914D\u4EF6\uFF1A");
label_5.setBounds(20, 171, 146, 15);
contentPane.add(label_5);
JLabel label_6 = new JLabel("\u9500\u552E\u914D\u4EF6\u6570\u91CF\u6700\u591A\u548C\u6700\u5C11\u4E4B\u5DEE\uFF1A");
label_6.setBounds(20, 218, 202, 15);
contentPane.add(label_6);
sum = new JTextField();
sum.setEnabled(false);
sum.setBounds(126, 126, 66, 21);
contentPane.add(sum);
sum.setColumns(10);
max = new JTextField();
max.setEnabled(false);
max.setBounds(176, 168, 66, 21);
contentPane.add(max);
max.setColumns(10);
cut = new JTextField();
cut.setEnabled(false);
cut.setBounds(265, 215, 66, 21);
contentPane.add(cut);
cut.setColumns(10);
}
}
界面: