计算个人所得税程序

来源:互联网 发布:iphone剪裁图片软件 编辑:程序博客网 时间:2024/05/19 12:14

计算个人所得税程序,经过计算,真实可用
import java.awt.Choice;import java.awt.Dialog;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.List;import java.awt.ScrollPane;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.lang.String;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import java.awt.BorderLayout;import java.awt.Frame;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;//用户登录界面public class GRS extends Frame implements ActionListener {private static final long serialVersionUID = 6347084101268070174L;static double base = 1600; // 免征基数static double[] taxRate = { 0.05, 0.10, 0.15, 0.20, 0.25 };// 各级税率public static void main(String[] args) {Frame frame = new Frame();new GRS(frame);}Label Label1 = new Label("用户名:");TextField textfieldialog = new TextField("密码:123");Label Label2 = new Label("用户密码:");TextField textfield2 = new TextField(10);Label Label5 = new Label("用户地区:");Choice choice = new Choice();Label Label6 = new Label("用户类别:");List list = new List(2, false);JButton button1 = new JButton("确定");JButton button2 = new JButton("取消");Dialog dialog = new Dialog(this, "提示信息", false);ScrollPane sp = new ScrollPane();public GRS(Frame frame) {super("个人所得税查询");add(Label1);add(textfieldialog);add(Label2);textfield2.setEchoChar('*');add(textfield2);add(Label5);choice.addItem("广东");choice.addItem("上海");choice.addItem("北京");add(choice);add(Label6);list.add("普通用户");list.add("管理员");sp.add(list);add(sp);add(button1);button1.addActionListener(this);add(button2);button2.addActionListener(this);setLayout(new GridLayout(5, 2, 5, 20));setBounds(430, 430, 300, 200);setResizable(false);setVisible(true);addWindowListener(new windowclose());}public class windowclose extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0);}}// 主菜单public void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("确定")) {if (textfield2.getText().trim().equals("123")) {addWindowListener(new windowclose());JFrame f = new JFrame("主菜单");JButton button5 = new JButton("1: 计算个人所得税");JButton button6 = new JButton("2: 查询免征基数和税率");JButton button7 = new JButton("3: 修改免征基数");JButton button8 = new JButton("4: 修改税率");f.add(button5);f.add(button6);f.add(button7);f.add(button8);button5.addActionListener(new ButAL());button6.addActionListener(new ChaXun());button7.addActionListener(new XiuGai1());button8.addActionListener(new XiuGai2());f.setLayout(new GridLayout(2, 2, 5, 20));f.setBounds(385, 420, 400, 220);f.setResizable(false);f.setVisible(true);}else {dialog.setLayout(new FlowLayout(FlowLayout.CENTER));Label tf = new Label("对不起,密码错误,请重试");dialog.add(tf);dialog.setBounds(455, 430, 250, 60);dialog.setResizable(false);dialog.setVisible(true);dialog.addWindowListener(new windowclose());}} elseSystem.exit(0);}// 计算个人所得税private class ButAL implements ActionListener {double income = -1; // 个人收入double revenue = -1; // 个人所得税JTextField testField;JTextField resultField;GRS r;public void actionPerformed(ActionEvent event) {JFrame f = new JFrame("个人所得税的计算");JLabel jl = new JLabel("请输入你的工资:");JLabel result = new JLabel("计算的结果:");testField = new JTextField(5);resultField = new JTextField(5);JButton calculate = new JButton("计算");calculate.addActionListener(new Calculate());f.add(jl);f.add(testField);f.add(calculate);f.add(result);f.add(resultField);f.setLayout(new GridLayout(2, 3, 3, 20));f.setBounds(380, 500, 400, 100);f.setResizable(false);f.setVisible(true);}private class Calculate implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {String s1 = testField.getText().trim();income = Double.valueOf(s1);double taxible = income - r.base;if (taxible > 20000)revenue = (taxible - 20000) * r.taxRate[4] + 15000* r.taxRate[3] + 3000 * r.taxRate[2] + 1500* r.taxRate[1] + 500 * r.taxRate[0];else if (taxible > 5000)revenue = (taxible - 5000) * r.taxRate[3] + 3000* r.taxRate[2] + 1500 * r.taxRate[1] + 500* r.taxRate[0];else if (taxible > 2000)revenue = (taxible - 2000) * r.taxRate[2] + 1500* r.taxRate[1] + 500 * r.taxRate[0];else if (taxible > 500)revenue = (taxible - 500) * r.taxRate[1] + 500* r.taxRate[0];else if (taxible > 0)revenue = taxible * r.taxRate[0];else if (taxible <= 0)revenue = 0;String s2 = String.valueOf(revenue);resultField.setText(s2);}}}// 查询免征基数和税率private class ChaXun implements ActionListener {GRS r;@Overridepublic void actionPerformed(ActionEvent e) {final JFrame f = new JFrame("查询"); // 窗体1JTextField f1 = new JTextField();JTextField f2 = new JTextField();JTextField f3 = new JTextField();JTextField f4 = new JTextField();JTextField f5 = new JTextField();JTextField f6 = new JTextField();f.add(f1);f1.setText("  免征基数为:" + String.valueOf(r.base)); // 输入免征基数f.setLayout(new GridLayout(6, 1, 3, 5));f.add(f2);f.add(f3);f.add(f4);f.add(f5);f.add(f6);f2.setText("  一 级税率为:" + r.taxRate[0]);f3.setText("  二 级税率为:" + r.taxRate[1]);f4.setText("  三 级税率为:" + r.taxRate[2]);f5.setText("  四 级税率为:" + r.taxRate[3]);f6.setText("  五 级税率为:" + r.taxRate[4]);f.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {f.setVisible(false);}});f.setBounds(385, 420, 400, 200);f.setResizable(false);f.setVisible(true);}}// 修改免征基数private class XiuGai1 implements ActionListener {GRS r;TextField tf = new TextField(10);Frame f = new Frame("修改免征基数");@Overridepublic void actionPerformed(ActionEvent e) {f.add(new Label("现在的免征基数为:" + r.base), BorderLayout.NORTH);f.add(new Label("请输入新的免征基数: "), BorderLayout.CENTER);f.add(tf, BorderLayout.EAST);tf.addActionListener(new TextFieldListener());f.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {f.setVisible(false);}});f.setBounds(425, 460, 300, 120);f.setResizable(false);f.setVisible(true);}private class TextFieldListener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {String s = tf.getText().trim();r.base = Double.valueOf(s);tf.setText("修改成功!");}}}// 修改税率private class XiuGai2 implements ActionListener {int rateLevel = 0; // 客户要修改的税率级别double newTaxRate = 0; // 修改后的税率GRS r;Frame f = null;TextField tf1 = null;TextField tf2 = null;@Overridepublic void actionPerformed(ActionEvent e) {f = new Frame("修改税率"); // 创建窗体tf1 = new TextField(6);tf2 = new TextField(6);Panel p1 = new Panel();Panel p2 = new Panel();JButton ok1 = new JButton("确定");ok1.addActionListener(new TF1Listener());p1.add(new Label("请输入要修改的税率的级别:"), BorderLayout.WEST);p1.add(tf1, BorderLayout.EAST);p1.add(ok1, BorderLayout.EAST);f.add(p1, BorderLayout.NORTH);JButton ok2 = new JButton("确定");ok2.addActionListener(new TF2Listener());f.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {f.setVisible(false);}});p2.add(new Label(" 请输入你确定修改后的税率:"), BorderLayout.WEST);p2.add(tf2, BorderLayout.EAST);p2.add(ok2);f.add(p2, BorderLayout.SOUTH);f.setLayout(new GridLayout(2, 3, 3, 15));f.setBounds(425, 460, 550, 120);f.pack();f.setVisible(true);}private class TF1Listener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {String s1 = tf1.getText().trim();rateLevel = Integer.valueOf(s1);if (rateLevel > 0 && rateLevel < 6) {r.taxRate[rateLevel - 1] = rateLevel; // 修改税率级别tf1.setText("请继续!");} else {tf1.setText("税率级别错误,修改失败!");}}}private class TF2Listener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {String s2 = tf2.getText().trim();double d = Double.valueOf(s2);r.taxRate[rateLevel - 1] = d;tf2.setText("修改成功!");}}}}


0 0