计算个人所得税程序

计算个人所得税程序,经过计算,真实可用
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());
			}
		} else


			System.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 {


			@Override
			public 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;


		@Override
		public void actionPerformed(ActionEvent e) {


			final JFrame f = new JFrame("查询"); // 窗体1
			JTextField 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() {
				@Override
				public 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("修改免征基数");


		@Override
		public 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() {
				@Override
				public void windowClosing(WindowEvent e) {
					f.setVisible(false);


				}
			});


			f.setBounds(425, 460, 300, 120);
			f.setResizable(false);
			f.setVisible(true);
		}


		private class TextFieldListener implements ActionListener {


			@Override
			public 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;


		@Override
		public 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() {
				@Override
				public 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 {


			@Override
			public 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 {


			@Override
			public void actionPerformed(ActionEvent e) {
				String s2 = tf2.getText().trim();
				double d = Double.valueOf(s2);
				r.taxRate[rateLevel - 1] = d;
				tf2.setText("修改成功!");


			}


		}


	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值