如何对两个数组字符串进行求和';s值并存储到java selenium中的另一个数组列表中?
我有4个数组,至少存储6个值如何对两个数组字符串进行求和';s值并存储到java selenium中的另一个数组列表中?,java,selenium,arraylist,Java,Selenium,Arraylist,我有4个数组,至少存储6个值 ArrayList<String> GrossAmt = new ArrayList<String>(); ArrayList<String> TaxAmt = new ArrayList<String>(); ArrayList<String> DiscAmt = new ArrayList<String>(); ArrayList<String> FinalAmt = new A
ArrayList<String> GrossAmt = new ArrayList<String>();
ArrayList<String> TaxAmt = new ArrayList<String>();
ArrayList<String> DiscAmt = new ArrayList<String>();
ArrayList<String> FinalAmt = new ArrayList<String>();
GrossAmt = [ 66.5928, 110.9880, 369.9592, 92.4898, 249.7221, 27.7469]
TaxAmt = [ 3.8632, 6.4386, 21.4621, 5.3655, 14.4869, 1.6097]
DiscAmt =[ 2.2137, 3.6895, 12.2984, 3.0746, 8.3014, 0.9224]
FinalAmt =[ 68.2423, 113.7371, 379.1229, 94.7807, 255.9076, 28.4342]
ArrayList GrossAmt=new ArrayList();
ArrayList TaxAmt=新的ArrayList();
ArrayList DiscAmt=新的ArrayList();
ArrayList FinalAmt=新的ArrayList();
格罗萨姆特=[66.5928110.9880369.959292.4898249.722127.7469]
TaxAmt=[3.8632,6.4386,21.4621,5.3655,14.4869,1.6097]
DiscAmt=[2.2137,3.6895,12.2984,3.0746,8.3014,0.9224]
FinalAmt=[68.2423113.7371379.1229,94.7807255.9076,28.4342]
我需要得到grossAmt+TaxAmt DiscAmt的结果,并与FinalAmt进行比较
for(int g = 0; g < GrossAmt.size(); g++){
int Expected = 0;
Expected = Integer.valueOf(GrossAmt.get(g)) + Integer.valueOf(TaxAmt.get(g))- Integer.valueOf(DiscAmt.get(g));
int Actual = Integer.valueOf(FinalAmt.get(g));
LogFileControl.logInfo(Actual);
LogFileControl.logInfo(Expected);
if (Actual == Expected ){
LogFileControl.logInfo("Final Amount Passed!");
}else
{
LogFileControl.logError(("Actual: " + Actual) + " Expected: " + Expected);
}
for(int g=0;g
但是我发现了错误。看起来金额是十进制的,而您是通过将其转换为整数来执行比较的。我建议使用
双精度
文本类型进行比较,例如:
ArrayList<String> GrossAmt = new ArrayList<String>();
ArrayList<String> TaxAmt = new ArrayList<String>();
ArrayList<String> DiscAmt = new ArrayList<String>();
ArrayList<String> FinalAmt = new ArrayList<String>();
for (int g = 0; g < GrossAmt.size(); g++) {
double Expected = 0;
Expected = Double.valueOf(GrossAmt.get(g)) + Double.valueOf(TaxAmt.get(g))
- Double.valueOf(DiscAmt.get(g));
double Actual = Double.valueOf(FinalAmt.get(g));
LogFileControl.logInfo(Actual);
LogFileControl.logInfo(Expected);
if (Actual == Expected) {
LogFileControl.logInfo("Final Amount Passed!");
} else {
LogFileControl.logError(("Actual: " + Actual) + " Expected: " + Expected);
}
}
ArrayList GrossAmt=new ArrayList();
ArrayList TaxAmt=新的ArrayList();
ArrayList DiscAmt=新的ArrayList();
ArrayList FinalAmt=新的ArrayList();
对于(int g=0;g
尝试以下操作A和B是两个不同的数组列表
ArrayList AB = new ArrayList();
AB.addAll(A);
AB.addAll(B);
你得到了什么错误?旁注:请使用小写的第一个字母作为你的变量:)为什么你使用
List
而不是List
?这仍然会抛出一个NumberFormatException
@而不是你的任何特定值?我刚刚尝试过,并且能够在没有任何异常的情况下解析这些值ogies,由于某种原因,我的IDE错过了一个“
,失败得很惨,但您的答案是正确的。