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;
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。