用Java写一个分部门和工作时间计算工资的程序,初学者难度的,求指导

该公司包括三个部门用“A,B,C”表示,每个部门是两个分支记为“1,2"。最后每个分支都有3个薪级表记为”a,b,c“.注意使用大小写字母。编写一个程序,将要求用户输入雇... 该公司包括三个部门用“A,B,C”表示,每个部门是两个分支记为“1,2"。最后每个分支都有3个薪级表记为”a,b,c“.注意使用大小写字母。编写一个程序,将要求用户输入雇员的名字和姓氏,然后要求用户输入自己所在的部门,分支机构和薪级表,最后要求输入本周的员工工作时间。
获取上述信息后,程序应该计算和报告,输入的信息以及员工一周的工资总和。如果在这计算过程遇到无效输入,程序应该报告”输入无效“,然后退出。注意:这不是一个非常强大的程序。程序应该验证有效的输入;这要求用户强制输入正确的值。稍后我们将面对这一切。薪酬的计算以每周40小时为正常工作时间,所以使用正常的工资率,但是超过40小时的部分按照1.5倍的工资率计算。每个小时的工资率如图片所示。
使用System.exit(0);来退出程序
使用名为charAt的方法来获取String的值
必须使用if-else-if
分支中的”1, 2”为字符而不是数字

如果有代码最好,或者大体结构。或者是关于它的想法,多谢
展开
 我来答
雪色精魂
推荐于2016-11-27 · TA获得超过181个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:158万
展开全部

写了一个功能实现了,不知道是不是你想要的:

package baidu;
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!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式