首页 > 代码库 > java计算总奖金用Swing工具-源码(可扩展功能的)

java计算总奖金用Swing工具-源码(可扩展功能的)

 题目:企业发放的奖金根据利润提成。

 * 利润(I)低于或等于10万元时,奖金可提10%;
 * 10万到20万之间时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
 * 20万到40万之间时,高于20万元的部分,可提成5%;
 * 40万到60万之间时,高于40万元的部分,可提成3%;
 * 60万到100万之间时,高于60万元的部分,可提成1.5%;
 * 高于100万元时,超过100万元的部分按1%提成。

 * 从键盘输入当月利润,求应发放奖金总数?



package com.bj.WageCalculation;


import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
 * 1.设置窗口组件
 * 2.定义事件
 * 3.展现数据
 * @author zy
 *
 */


public class WageCalculation {
public static void main(String[] args) {//主方法
wageCalculation();
}

/**
* 设置窗口组件
*/
public static void wageCalculation(){
JFrame frame=new JFrame("计算奖金");//定义一个窗口容器
JPanel jpanel=new JPanel();//定义一个面板容器
final JTextField jtext=new JTextField(10);//定义一个文本输入框,长度10
JButton jbutton=new JButton("奖金");//定义一个按钮

frame.add(jpanel);//窗口容器添加面板
jpanel.add(jtext,BorderLayout.NORTH);//面板容器添加文本输入框
jpanel.add(jbutton);//面板容器添加按钮

frame.setSize(300,200);//设置窗口大小
frame.setVisible(true);//设置窗口可见
frame.setResizable(false);//设置窗口大小不可变
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);//关闭窗口,释放内存

/**
* 定义事件
*/

jbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
double setWages = Double.parseDouble(jtext.getText());//获取文本框数据
Wages getWages=new Wages();//创建Wages类对象
double wage=getWages.Wages(setWages);//调用Wages的Wages方法

jtext.setText(wage+"");//Double数据转换成String类型,并输入文本框
}
});
}
}


package com.bj.WageCalculation;
/**
 * 
 * @author zy
 * 题目:企业发放的奖金根据利润提成。
 * 利润(I)低于或等于10万元时,奖金可提10%;
 * 10万到20万之间时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
 * 20万到40万之间时,高于20万元的部分,可提成5%;
 * 40万到60万之间时,高于40万元的部分,可提成3%;
 * 60万到100万之间时,高于60万元的部分,可提成1.5%;
 * 高于100万元时,超过100万元的部分按1%提成。
 * 从键盘输入当月利润,求应发放奖金总数?
 *
 */
public class Wages {
public static void main(String[] args) {
//Wages(90000);
System.out.println(Wages(2000000));
}


public static double Wages(double wage){

double wageTotal = 0;

if(wage<100000){
wageTotal=wage*0.1;
System.out.println("======="+wageTotal);
}else if(wage<200000 && wage>=100000){
wageTotal=(100000)*0.1+(wage-100000)*0.075 ;
}else if(wage<400000 && wage>=200000){
wageTotal=(100000)*0.1+(200000)*0.075+(wage-200000)*0.05 ;
}else if(wage<600000 && wage>=400000){
wageTotal=(100000)*0.1+(200000)*0.075+(400000)*0.05+(wage-400000)*0.03;
}else if(wage<1000000 && wage>=600000){
wageTotal=(100000)*0.1+(200000)*0.075+(400000)*0.05+(600000)*0.03+(wage-600000)*0.015;
}else{
wageTotal=(100000)*0.1+(200000)*0.075+(400000)*0.05+(600000)*0.03+(1000000)*0.015+(wage-1000000)*0.001;
}
return wageTotal;
}
}

java计算总奖金用Swing工具-源码(可扩展功能的)