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;
答案 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);
}