我有可变数量的输入值。 就像输入是一个像[6,23,6]或[8,3,97]这样的变量值的数组...就像那样,我还需要检查另一个数组。 因此,我形成了这样的条件,
StringBuilder formStmt= new StringBuilder("");
for (int i = 0; i < input.size(); i++) {
formStmt= formStmt.append("input[" + i + "] != anotherArray[" +i+ "] &&");
}
formStmt= formStmt.delete(formStmt.length()-2, formStmt.length());
如何查看 formStmt if?
Thing是我正在使用formStmt形成if语句。我正在形成
formStmt = input[0] !=anotherArray[i] && input[1] != anotherArray[i]
并将其放入内部,如...
if (formStmt){
//代码 }
编辑: 我已经更新了这个问题。右侧值也是一个数组。那就是为什么我这样做了。?
答案 0 :(得分:3)
据我了解,你想检查每个输入[i]的值是否为0.试试这个:
bool status=true;
for (int i = 0; i < input.size(); i++) {
if(input[i] == 0)
{
status=false;
break;
}
}
if(status)
{ // do your stuff}
所以根据你更新的问题,你需要一个嵌套循环。像这样的东西:
bool status=true;
for (int i = 0; i < input.length && status; i++)
{
for(j = 0; j < anotherArray.length; j++)
{
if(input[i] == anotherArray[j])
{
status=false;
break; // you can use a labeled break if you want
}
}
if(status)
{ // do your stuff}
答案 1 :(得分:3)
不要在String中构建代码。
您想要检查Collection的所有元素是否为非零。
boolean valid = true;
for (int i = 0; i < input.size(); i++) {
if (input.get(i) == 0) {
valid = false;
break;
}
}