JAVA计算工人工资,参考例子如下:
成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为来凤企业提供专业的成都网站设计、成都做网站,来凤网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
import java.util.Scanner;
public class Demo00 {
//定义一个三维数组,用于记录每个部门、分支、绩效工资
private static final float[][][] SALARY_OF_PER_HOUR = {
{{10.75f,12.50f,14.50f},{11.75f,14.50f,17.50f}},
{{13.00f,16.00f,18.50f},{15.00f,18.50f,22.00f}},
{{16.75f,18.50f,20.50f},{19.25f,25.00f,30.00f}}
};
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//输入姓名
System.out.println("请输入姓名:");
String name = sc.nextLine();
//输入部门并验证
System.out.println("请输入部门: A,B,C");
char dept = sc.nextLine().charAt(0);
if(dept'A'||dept'C')
{
System.out.println("输入有误,系统将退出");
System.exit(0);
}
//输入分支机构并验证
System.out.println("请输入分支机构: 1,2");
char div = sc.nextLine().charAt(0);
if(div'1'||div'2')
{
System.out.println("输入有误,系统将退出");
System.exit(0);
}
//输入薪绩表并验证
System.out.println("请输入薪绩表: a,b,c");
char sal = sc.nextLine().charAt(0);
if(sal'a'||sal'c')
{
System.out.println("输入有误,系统将退出");
System.exit(0);
}
//输入小时数
System.out.println("请输入本周工作时间(整小时数):");
int hours = sc.nextInt();
float salary = 0;
//每个小时的薪水
float salaryPerHour = SALARY_OF_PER_HOUR[dept-'A'][div-'1'][sal-'a'];
//分别计算40小时内和超过40小时的薪水
if(hours=40)
{
salary += salaryPerHour*hours;
}
else
{
salary += salaryPerHour*hours+(hours-40)*1.5*salaryPerHour;
}
//输出结果
System.out.println("姓名:\t"+name+"\n部门:\t"+dept+"\n分支机构:\t"+div
+"\n薪绩表:\t"+sal+"\n工作时间:\t"+hours+"\n薪水:\t"+salary);
}
}
//Best wishes!
按照题目要求编写的计算员工税后工资的Java程序如下
import java.util.Scanner;
public class Tax{
public static double calculateSalary(double s){
double sat=0;
if(s=5000){
sat=s;
}else if(5000s s=6500){
sat=s-(s-5000)*0.03;
}else if(6500s s=9500){
sat=s-(s-5000)*0.1;
}else if(9500s s=14000){
sat=s-(s-5000)*0.2;
}else if(14000s s=40000){
sat=s-(s-5000)*0.25;
}else if(40000s s=60000){
sat=s-(s-5000)*0.3;
}else if(60000s s=85000){
sat=s-(s-5000)*0.35;
}
return sat;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=0;
double s,sat;
double[] salary=new double[10];
double[] salaryAfterTax=new double[10];
System.out.print("是否添加新员工薪水 y/n?");
String add=sc.next();
while(add.equals("y")){
s=sc.nextDouble();
salary[n]=s;
sat=calculateSalary(s);
salaryAfterTax[n]=sat;
n++;
System.out.print("是否添加新员工薪水 y/n?");
add=sc.next();
}
for(int i=0;in-1;i++){
for(int j=0;jn-1-i;j++){
if(salaryAfterTax[j]salaryAfterTax[j+1]){
double temp=salaryAfterTax[j];
salaryAfterTax[j]=salaryAfterTax[j+1];
salaryAfterTax[j+1]=temp;
}
}
}
System.out.printf("税后工资高的前三名是:%.2f,%.2f,%.2f",salaryAfterTax[0],salaryAfterTax[1],salaryAfterTax[2]);
}
}
class Salary{
private int no;
private String name;
private double deal;
private double tax;
public Salary(int no,String name,double deal,double tax){
this.no=no;
this.name=name;
this.deal=deal;
this.tax=tax;
}
public double count(){
return this.deal-this.tax;
}
public void output(){
System.out.println("工号"+this.no);
System.out.println("姓名"+this.name);
System.out.println("应发工资"+this.deal);
System.out.println("税金"+this.tax);
System.out.println("实发工资"+count());
}
public static void main(String[] args){
Salary a=new Salary(1,"张三",1000,200);
a.output();
Salary b=new Salary(2,"李四",1500,200);
b.output();
}
}