迭代数组并传递给另一个数组

时间:2015-02-26 15:27:13

标签: java arrays

    static String[] TEST_NAMES = new String[]{"vectorTest",
    "scalarMultiplicationTest", "columnVectorTest", "dotProductTest",
    "matrixTest", "matrixMultiplicationTest", "selectRowTest",
    "selectMaxTest", "indexOfMaxTest", "updateTest", "addItemTest", 
    "updateDatabaseTest"};

我想要一个遍历这个数组的循环,每当它指向testNames数组中的索引时,它都应该将它作为一个' E'在另一个数组上,最终的数组应传递给' resultString'变量,它将所有的E'返回到数据库。这是我尝试过但它有错误,因为它们是不兼容的类型。

          testNames = OOJavaBasics.TEST_NAMES;

         ArrayList<Integer> zeroSubmission= new ArrayList<>();
            for (int i = 0; i < testNames.length; i++) {
                if (thirdLastLine.contains("OK (0 tests)") && testNames.equals(i)){
                    zeroSubmission.add('E');
                    resultString = zeroSubmission;
                    System.out.println(resultString);
                }
            }

输出应该是E中数组长度为12的总数,例如EEEEEEEEEEEE&#39;

2 个答案:

答案 0 :(得分:1)

您只能使用String而不是第二个数组来执行此操作。

尝试以下方法:

     testNames = OOJavaBasics.TEST_NAMES;
     String resultString="";
        for (int i = 0; i < testNames.length; i++) {
            if (thirdLastLine.contains("OK (0 tests)") && testNames[i].equals("wanted result")){ // do not compare an Array with an int in the .equals()
                resultString += "E";
            }
        }
System.out.println(resultString);

每次找到想要的结果时,都会直接向"E"添加resultString

修改

参考您的上一次编辑,解决方案非常简单:

for (int i = 0; i < testNames.length; i++) {
      resultString += "E";
}   

只需循环遍历数组,并在每次迭代中向E添加resultString

答案 1 :(得分:0)

这就是我解决它的方式

        String E = "";
        if (thirdLastLine.contains("OK (0 tests)")) {

            System.out.println(thirdLastLine);

            for (int i = 0; i < testNames.length; i++) {

                E += 'E';
            }
            resultString = E;

            System.out.println(resultString);
        }