实现功能:
这是一个职工工资查询的程序,要选择“普通员工”,“部门经理”,“系统管理员”对应的业务,然后输入查询的人数,程序比较简单,只是输入相应的金额,然后计算总金额。
下面是实现代码:
其中代码的亮点是empSalray这个二维数组,我们将一维空间的用来存储查询的用户数,二维空间分别存储基本工资,津贴,奖金,月份和总工资。
public class Text3 {
public double[][] initMutiEmpSal(){ //用户数量
System.out.println("请输入用户数量:");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
double[][] empSalary=new double[n][5];
return empSalary;
}
//用户信息
public String[] initMultiEmoName(double[][] empSalary){
Scanner sca=new Scanner(System.in);
String[] empName=new String[empSalary.length];
for(int i=0;i<empSalary.length;i++){
System.out.println("请输入第"+(i+1)+"名职工的姓名:");
empName[i]= sca.next();
}
return empName;
}
//用下标0~4表示工资,津贴,奖金,月份,总工资
public double[][] calculateTotaSalary(double[][] empSalary){
Scanner sc=new Scanner(System.in);
int i,j;
for(i=0;i<empSalary.length;i++){
System.out.println("请输入"+(i+1)+"名职工的基本工资,津贴,奖金:");
for (j=0;j<empSalary[i].length-2;j++){
empSalary[i][j]=sc.nextDouble();
}
System.out.println("请输入统计时间(以月为单位):");
empSalary[i][j]=sc.nextInt();
}
for(i=0;i<empSalary.length;i++){
empSalary[i][4]=empSalary[i][0]*empSalary[i][3]+empSalary[i][1]*empSalary[i][3]+empSalary[i][2];
}
return empSalary;
}
//工资展现
public void showTotalSalary(String[] useName,double[][] emSalary){
int i,j;
System.out.println("职工名\t基本工资\t津贴\t统计月份\t总工资");
for(i=0;i< useName.length;i++){
System.out.print(useName[i]+"\t");
for (j=0;j<emSalary[0].length;j++)
System.out.print(emSalary[i][j]+"\t");
System.out.println();
}
}
public static void main(String[] args) {
Text3 multiEmpSalaryCal=new Text3();
System.out.println("欢迎使用职工工资计算工具");
double[][] empSalary=multiEmpSalaryCal.initMutiEmpSal();
String[] useName=multiEmpSalaryCal.initMultiEmoName(empSalary);
empSalary=multiEmpSalaryCal.calculateTotaSalary(empSalary);
multiEmpSalaryCal.showTotalSalary(useName,empSalary);
}
}
效果:
GUl实现功能:
public class Text3GUI {
public static void main(String[] args) {
Menu1 menu=new Menu1();
menu.windows();
}
}
class Menu1 extends JFrame {
public void windows(){
JFrame jFrame=new JFrame("职工服务");
jFrame.setVisible(true);
jFrame.setBounds(400,300,500,400);
JPanel jPanel=new JPanel(null);
jPanel.setBorder(new TitledBorder("请选择服务类型"));
//普通职工
ImageIcon icon=new ImageIcon("src/timthumb.jpg");
Image temp=icon.getImage().getScaledInstance(120,100,0);
icon=new ImageIcon(temp);
JButton jButton=new JButton("普通职工",icon);
jButton.setBounds(50,150,100,100);
JLabel jLabel=new JLabel("普通职工");
jLabel.setForeground(Color.cyan);
jButton.add(jLabel);
jButton.addActionListener(new ActionListener() { //添加事件
@Override
public void actionPerformed(ActionEvent e) {
new jdialog5();
}
});
//部门经理
ImageIcon icon1=new ImageIcon("src/jl.jpg");
Image temp1=icon1.getImage().getScaledInstance(120,100,0);
icon1=new ImageIcon(temp1);
JButton jButton1=new JButton("部门经理",icon1);
jButton1.setBounds(200,150,100,100);
JLabel jLabel1=new JLabel("部门经理");
jLabel1.setForeground(Color.RED);
jButton1.add(jLabel1);
jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new jdialog4();
}
});
//系统管理员
ImageIcon icon2=new ImageIcon("src/xt.jpg");
Image temp2=icon2.getImage().getScaledInstance(120,100,0);
icon2=new ImageIcon(temp2);
JButton jButton2=new JButton("系统管理员",icon2);
jButton2.setBounds(350,150,100,100);
JLabel jLabel2=new JLabel("系统管理员");
jLabel2.setForeground(Color.ORANGE);
jButton2.add(jLabel2);
jButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new jdialog3();
}
});
jPanel.add(jButton);
jPanel.add(jButton1);
jPanel.add(jButton2);
jFrame.add(jPanel);
jFrame.setResizable(false);
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
//事件1
class jdialog5{
public jdialog5(){
String n=JOptionPane.showInputDialog("请输入人数");
int m=Integer.parseInt(n);
new module(m);
}
}
//事件2
class jdialog4 {
public jdialog4(){
String n=JOptionPane.showInputDialog("请输入人数");
int m=Integer.parseInt(n);
new module(m);
}
}
//事件3
class jdialog3{
public jdialog3(){
String n=JOptionPane.showInputDialog("请输入人数");
int m=Integer.parseInt(n);
new module(m);
}
}
//功能模块
class module extends JFrame {
public module(int m) { //出初始化窗口
for (int i = 0; i < m; i++) {
JFrame jFrame = new JFrame();
jFrame.setVisible(true);
jFrame.setTitle("工资查询");
jFrame.setResizable(false);
Container container = getContentPane();
jFrame.setBounds(600, 500, 300, 230);
jFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
JPanel panel = new JPanel();
JLabel jLabel = new JLabel("姓名:");
JTextField jTextField = new JTextField("", 20);
JLabel jLabel1 = new JLabel("基础工资:");
JTextField jTextField1 = new JTextField("", 18);
JLabel jLabel2 = new JLabel("津贴:");
JTextField jTextField2 = new JTextField("", 20);
JLabel jLabel3 = new JLabel("奖金:");
JTextField jTextField3 = new JTextField("", 20);
JLabel jLabel5=new JLabel("月数:");
JTextField jTextField5=new JTextField("",20);
JLabel jLabel4 = new JLabel("总工资:");
JTextField jTextField4 = new JTextField("", 19);
//按钮模块
JButton jButton = new JButton("确定");
jButton.addActionListener(new actionLister(jTextField1,jTextField2,jTextField3,jTextField4,jTextField5));
//添加
panel.add(jLabel);
panel.add(jTextField);
panel.add(jLabel1);
panel.add(jTextField1);
panel.add(jLabel2);
panel.add(jTextField2);
panel.add(jLabel3);
panel.add(jTextField3);
panel.add(jLabel5);
panel.add(jTextField5);
panel.add(jLabel4);
panel.add(jTextField4);
panel.add(jButton);
jFrame.add(panel);
}
}
//工资求和方法
static class actionLister implements ActionListener {
JTextField j=null;
JTextField j1=null;
JTextField j2=null;
JTextField j3=null;
JTextField j4=null;
public actionLister(JTextField jTextField1,JTextField jTextField2,JTextField jTextField3,JTextField jTextField4,JTextField jTextField5){
j=jTextField1;
j1=jTextField2;
j2=jTextField3;
j3=jTextField4;
j4=jTextField5;
}
@Override
public void actionPerformed(ActionEvent e) {
String s=j.getText();
String s1=j1.getText();
String s2=j2.getText();
String s3=j4.getText();
int a=Integer.parseInt(s);
int b=Integer.parseInt(s1);
int c=Integer.parseInt(s2);
int d=Integer.parseInt(s3);
j3.setText(Integer.toString(a*d+b*d+c));
}
}
}
效果:
代码不是很精简!