11111

该程序计算并输出不同职位(普通职员、程序员、设计师、架构师)的平均年龄、平均工资(不加奖金和股票)、总工资(加奖金和股票)。通过遍历二维字符串数组,分别对每个职位的年龄和工资进行累加,并根据数组长度处理不同数量的奖金项。最后计算平均值并打印结果。
摘要由CSDN通过智能技术生成
package Lan;

public class Arr02 {
    public static void main(String[] args) {
        int sum=0,sum2=0,sum3=0,sum4=0;
        int age=0,age2=0,age3=0,age4=0;
        int ageavg,ageavg2,ageavg3,ageavg4;
        int avg,avg2,avg3,avg4;
        int a,b,c;
        int money=0,money2=0,money3=0,money4=0;
        int num=0,num2=0,num3=0,num4=0;
        String[][] employees = {
                {"10", "1", "段誉", "22", "3000"},
                {"13", "2", "令狐冲", "32", "18000", "15000", "2000"},
                {"11", "3", "任我行", "23", "7000"},
                {"11", "4", "张三丰", "24", "7300"},
                {"12", "5", "周芷若", "28", "10000", "5000"},
                {"11", "6", "赵敏", "22", "6800"},
                {"12", "7", "张无忌", "29", "10800","5200"},
                {"13", "8", "韦小宝", "30", "19800", "15000", "2500"},
                {"12", "9", "杨过", "26", "9800", "5500"},
                {"11", "10", "小龙女", "21", "6600"},
                {"11", "11", "郭靖", "25", "7100"},
                {"12", "12", "黄蓉", "27", "9600", "4800"}
        };
        for (int i = 0; i < employees.length; i++) {
            switch(employees[i][0]){
                case "10":
                    a=Integer.parseInt (employees[i][4]);
                    b=Integer.parseInt (employees[i][3]);
                    sum+=a;
                    age+=b;
                    num++;
                    if (employees[i].length>5){
                        if (employees[i].length>6){
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5])+Integer.parseInt(employees[i][6]);
                        }else {
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5]);
                        }
                    }else { c=Integer.parseInt(employees[i][4]);
                    }
                    money+=c;
                    break;
                case "11":
                    a=Integer.parseInt (employees[i][4]);
                    b=Integer.parseInt (employees[i][3]);
                    sum2+=a;
                    age2+=b;
                    num2++;
                    if (employees[i].length>5){
                        if (employees[i].length>6){
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5])+Integer.parseInt(employees[i][6]);
                        }else {
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5]);
                        }
                    }else { c=Integer.parseInt(employees[i][4]);
                    }
                    money2+=c;
                    break;
                case "12":
                    a=Integer.parseInt (employees[i][4]);
                    b=Integer.parseInt (employees[i][3]);
                    sum3+=a;
                    age3+=b;
                    num3++;
                    if (employees[i].length>5){
                        if (employees[i].length>6){
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5])+Integer.parseInt(employees[i][6]);
                        }else {
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5]);
                        }
                    }else { c=Integer.parseInt(employees[i][4]);
                    }
                    money3+=c;
                    break;
                case "13":
                    a=Integer.parseInt (employees[i][4]);
                    b=Integer.parseInt (employees[i][3]);
                    sum4+=a;
                    age4+=b;
                    num4++;
                    if (employees[i].length>5){
                        if (employees[i].length>6){
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5])+Integer.parseInt(employees[i][6]);
                        }else {
                            c=Integer.parseInt(employees[i][4])+Integer.parseInt(employees[i][5]);
                        }
                    }else { c=Integer.parseInt(employees[i][4]);
                    }
                    money4+=c;
                    break;
            }
        }
        ageavg=age/num;
        avg=sum/num;
        System.out.println("普通职员平均年龄为:"+ageavg+"平均工资(不加奖金和股票)为:"+avg+"总工资(加奖金和股票)为:"+money);
        ageavg2=age2/num2;
        avg2=sum2/num2;
        System.out.println("程序员平均年龄为:"+ageavg2+"平均工资(不加奖金和股票)为:"+avg2+"总工资(加奖金和股票)为:"+money2);
        ageavg3=age3/num3;
        avg3=sum3/num3;
        System.out.println("设计师平均年龄为:"+ageavg3+"平均工资(不加奖金和股票)为:"+avg3+"总工资(加奖金和股票)为:"+money3);
        ageavg4=age4/num4;
        avg4=sum4/num4;
        System.out.println("架构师平均年龄为:"+ageavg4+"平均工资(不加奖金和股票)为:"+avg4+"总工资(加奖金和股票)为:"+money4);
    }
}

在计算机中,整数通常使用补码形式表示。1.11111是一个小数,但是计算机中的补码是针对整数的概念。如果你想要知道1.11111这个数转换成整数的二进制补码表示形式,首先需要确定你要使用的位数来表示这个整数。 例如,如果你使用8位来表示这个整数,那么我们首先要将小数部分转换成二进制数,然后取其补码。但是小数部分转换成二进制可能会是一个无限循环的过程,因此实际上在计算机中通常是将小数进行截断或四舍五入到一定的精度。在这种情况下,我们假设只保留小数点后五位,即1.11111作为整数部分1和小数部分0.11111。 现在我们关注小数部分0.11111的二进制表示(假设使用8位精度): ``` 0.11111(二进制) ≈ 0.01111100(二进制) ``` 这是因为0.11111二进制转换为十进制后略大于0.9,而0.01111100二进制转换为十进制是略小于0.9375。为了得到补码,我们还需要考虑整数部分1。在8位二进制中,整数1的原码是00000001,其反码是11111110,补码是反码加1,即11111111。 因此,如果1.11111被近似为1.01111100并使用8位二进制表示,其补码大约是: ``` 整数部分:11111111(补码表示的-1) 小数部分:01111100(二进制近似表示的0.9375) ``` 综上所述,对于1.11111这个小数,如果我们将其近似为1+0.9375,并使用8位二进制表示,其补码大约是: ``` 11111111.01111100 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值