⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texframe.java

📁 用java开发的一个个人所得税计算程序
💻 JAVA
字号:
package 实验一;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class TexFrame extends JFrame{    JTable table;    Object name[]={"级别","应纳所得额(>)","应纳所得额(<=)","税率"};    Object level[][]={{1,0,500,0.05},{2,500,2000,0.10},                      {3,2000,5000,0.15},{4,5000,20000,0.20},                      {5,20000,"",0.25}};    //设置表格个单元的初始值    JPanel p,p1;    JButton count;        //计算按钮    JButton change;       //修改免征基数按钮    JTextField start;     //显示免征基数    JTextField input;     //输入计算总额    JTextField output;    //输出计算结果    TexFrame(String s) {        super(s);        start=new JTextField(10);        start.setText(JumpoffPoint+"");     //默认初始显示1600        change=new JButton("修改免征基数");        count=new JButton("计算");        input=new JTextField(10);        output=new JTextField(10);        table=new   JTable(level,name){               public   boolean   isCellEditable(int   row,   int   column){                if (column==0||column==1||column==2) return   false;                else                     return true;            }        };           //新建表格,并设置第一、二、三列不可修改        p1=new JPanel();        p1.add(new JLabel("免征基数"));        p1.add(start);        p1.add(change);        p=new JPanel();        p.add(new JLabel("输入金额"));        p.add(input);        //input.setText(money+"");       //输入金额初始显示0        p.add(count);        ah=new ActionHandler(this);        count.addActionListener(ah);    //添加事件监听器        change.addActionListener(ah);   //添加事件监听器        p.add(new JLabel("应纳的税额"));        p.add(output);        //设置窗口布局        getContentPane().add(p1,BorderLayout.NORTH);        getContentPane().add(p,BorderLayout.SOUTH);        getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);                setSize(500,250);        setLocation(300,100);        setVisible(true);        addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                System.exit(0);            }        });    }    public void setMoney(float m) {    //设置计算金额        money=m;    }   public float getResult() {          //获取计算结果        return result;    }    public void chJumpoffPoint(int m) {//修改免征基数        JumpoffPoint=m;    }    private int countLevel(float m) {//判断输入金额所在的层次        if (m<=JumpoffPoint)            return 0;        else if (m-JumpoffPoint<=Integer.parseInt(level[0][2].toString()))            return 1;        else if (m-JumpoffPoint<=Integer.parseInt(level[1][2].toString()))            return 2;        else if (m-JumpoffPoint<=Integer.parseInt(level[2][2].toString()))            return 3;        else if (m-JumpoffPoint<=Integer.parseInt(level[3][2].toString()))            return 4;        else            return 5;    }    public void counter(){            //计算个人所得税        switch(countLevel(money)){            case 0:                    //收入未达到起征点                result=0;                break;            case 1:                    //第一层                result=((money - JumpoffPoint)                        * Float.parseFloat(level[0][3].toString()));                break;            case 2:                  //第二层                result=                        Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString())                        +(money-JumpoffPoint-Integer.parseInt(level[1][1].toString()))*Float.parseFloat(level[1][3].toString());                break;            case 3:                   //第三层                result=                        Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString())                        +(Integer.parseInt(level[1][2].toString())-Integer.parseInt(level[1][1].toString()))*Float.parseFloat(level[1][3].toString())                        +(money-JumpoffPoint-Integer.parseInt(level[2][1].toString()))*Float.parseFloat(level[2][3].toString());                break;            case 4:                  //第四层                result=                        Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString())                        +(Integer.parseInt(level[1][2].toString())-Integer.parseInt(level[1][1].toString())*Float.parseFloat(level[1][3].toString()))                        +(Integer.parseInt(level[2][2].toString())-Integer.parseInt(level[2][1].toString()))*Float.parseFloat(level[2][3].toString())                        +(money-JumpoffPoint-Integer.parseInt(level[3][1].toString()))*Float.parseFloat(level[3][3].toString());                break;            case 5:                //第五层                result=                        Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString())                        +(Integer.parseInt(level[1][2].toString())-Integer.parseInt(level[1][1].toString())*Float.parseFloat(level[1][3].toString()))                        +(Integer.parseInt(level[2][2].toString())-Integer.parseInt(level[2][1].toString()))*Float.parseFloat(level[2][3].toString())                        +(Integer.parseInt(level[3][2].toString())-Integer.parseInt(level[3][1].toString()))*Float.parseFloat(level[3][3].toString())                        +(money-JumpoffPoint-Integer.parseInt(level[4][1].toString()))*Float.parseFloat(level[4][3].toString());                break;        }    }    private float money=0;              //输入计算金额    private float result;               //计算结果    private int JumpoffPoint=1600;      //起征点    private ActionHandler ah;           //事件响应}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -