由于商家会自己在某个时间提出结算(不是我们能够控制的),因此这个监听应该对外有一个接口,可以直接被调用,当商家提出结算的时候,我们直接调用这个接口!
定时任务是到了某个时间点就运行一下,当然通过某些框架也能实现,如quartz,我建议写一个监听,但是实现的方式很多!
JAVA计算工人工资,参考例子如下: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!
第一题:import java.util.Scanner
public class CountDate {
public static void main(String[] args) {
Scanner s = new Scanner(System.in)
System.out.println("解放军战士连续作战的小时数:")
int hours = s.nextInt()
System.out.print("解放军战士连续作战")
if(hours <= 0)
System.out.println("解放军战士没奋战啊。。。。。")
if(hours / 24 >0)
System.out.print((hours / 24) + "天")
if(hours % 24 >0)
System.out.print((hours % 24) + "小时")
}
}
第二题
import java.util.Scanner
public class GetNumResult {
public static void main(String[] args) {
Scanner s = new Scanner(System.in)
System.out.println("请输入一个整数:")
int num = s.nextInt()
for(int i = 1i <= 10i ++){
System.out.println(num + " * " + i + " = " + (i * num))
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)