如何在Java中获取剩余的内容

时间:2019-06-04 01:55:58

标签: java

我有一个Java程序,它将在每月的第15天和最后一天运行,我的示例具有2种不同类型的金额。

这种类型的金额来自查询,它已经按sysdate排序,这是查询的结果:

130 500

在运行程序时,它将自动从第一笔金额中扣除,其余金额将进入第二笔金额。

这是第一笔金额125。

这是第二个数字100。

我该怎么做?非常感谢您的帮助。

//这是获取130,500的查询。

String getAdvanceEmployee = "SELECT AMOUNT FROM CFV_CHARGES WHERE EMP_NO = '40000124' AND TO_DATE(DUE_DATE) = '30-JUN-19' AND IS_ADVANCE = '1'";
ResultSet result1 = stmt.executeQuery(getAdvanceEmployee);


while(result1.next()){

String amount = result1.getString("AMOUNT");
//the output 130,150


//this is the query to get the 125. 

String getAdvancePayment = "SELECT AMOUNT FROM CFV_CHARGES WHERE EMP_NO = '40000124' AND TO_DATE(DUE_DATE) = '30-JUN-19' AND ENTRY_TYPE = '1'";
    ResultSet result2 = stmt1.executeQuery(getAdvancePayment);


while(result1.next()){

String amount = result1.getString("AMOUNT");
//the output will 125


    //im confused the logic itself


 }
}

查询中的金额: 130 500

第一笔金额125 第二笔金额100

实际结果是:

125 -125 //此负数来自130,其余-5将转到下一个数字

100 -5 -95

//,最后一个是-405。

1 个答案:

答案 0 :(得分:0)

您可以这样计算:

public int calculatAmountOne(int firstAmount , int secondAmount){
//in your case firstAmount = 125 , secondeAmount = 130 
int rest = firstAmount - secondeAmount ;
return rest 
}

public int calculatAmountTwo(int firstAmount , int secondAmount){
//in your case firstAmount = 100, secondeAmount = -5
int rest = firstAmount + secondeAmount ;
return rest 
}

因此,您现在创建了两种方法来计算两种不同的用量,就可以使用它们

int restOne = calculatAmountOne(125,130) // restOne = -5 ;
int restTwo = calculatAmountTwo(100,restOne) // restTwo = 95 ;
int lastRemaining = restTwo + 500 // lastRemaining = 595

您以后应该使用您得到的数字,而不是我根据您的问题举例说明的数字!