如何检查这个条件? - Java

时间:2014-12-01 11:41:31

标签: java if-statement

我有可变数量的输入值。 就像输入是一个像[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){

//代码 }

编辑: 我已经更新了这个问题。右侧值也是一个数组。那就是为什么我这样做了。?

2 个答案:

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