Java 程序 一个结算的流程 看这个定时任务怎么写

Java 程序 一个结算的流程 看这个定时任务怎么写,第1张

不建议定时任务,像这种周期应该是存到数据库吧,你应该能计算出每个商家的结算时间,所以建议你写一个监听,没五分钟扫描一次数据,发现到了结算时间的商家(该商家未结算)则进行结算

由于商家会自己在某个时间提出结算(不是我们能够控制的),因此这个监听应该对外有一个接口,可以直接被调用,当商家提出结算的时候,我们直接调用这个接口!

定时任务是到了某个时间点就运行一下,当然通过某些框架也能实现,如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))

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11720074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存