Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对两个数组字符串进行求和';s值并存储到java selenium中的另一个数组列表中?_Java_Selenium_Arraylist - Fatal编程技术网

如何对两个数组字符串进行求和';s值并存储到java selenium中的另一个数组列表中?

如何对两个数组字符串进行求和';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

我有4个数组,至少存储6个值

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错过了一个
,失败得很惨,但您的答案是正确的。