Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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
在java中有没有存储条件语句的方法?_Java_Android_If Statement_Conditional Statements - Fatal编程技术网

在java中有没有存储条件语句的方法?

在java中有没有存储条件语句的方法?,java,android,if-statement,conditional-statements,Java,Android,If Statement,Conditional Statements,我想知道是否有任何方法可以在java中存储if-else条件?我的意思是有一个变量来表示条件。这是我的原始代码 private OnClickListener click2 = new OnClickListener() { @Override public void onClick(View v) { tv1.setText(""); List<Integer> mClickedBu

我想知道是否有任何方法可以在java中存储if-else条件?我的意思是有一个变量来表示条件。这是我的原始代码

private OnClickListener click2 = new OnClickListener() { 

            @Override
            public void onClick(View v) {
            tv1.setText("");
            List<Integer> mClickedButtonIds = new ArrayList<Integer>();

            int[] mDesiredOrder = new int[] { ans1.getId(), ans2.getId(), ans3.getId(),
                                              ans4.getId(), ans5.getId() }; 

            mClickedButtonIds.add(v.getId());
            if (mClickedButtonIds.size() >= mDesiredOrder.length )

            {            
                if (mClickedButtonIds.get(0) == mDesiredOrder[0] 
                    && mClickedButtonIds.get(1) == mDesiredOrder[1] 
                    && mClickedButtonIds.get(2) == mDesiredOrder[2]
                    && mClickedButtonIds.get(3) == mDesiredOrder[3]
                    && mClickedButtonIds.get(4) == mDesiredOrder[4]
                    )
                {
                    tv1.setText("Correct!");
                }
                else 
                {
                    tv1.setText("Try Again!");
                }
                mClickedButtonIds.clear();
             }
        }
 };
private OnClickListener click2=new OnClickListener(){
@凌驾
公共void onClick(视图v){
tv1.setText(“”);
List mClickedButtonIds=newarraylist();
int[]mDesiredOrder=new int[]{ans1.getId(),ans2.getId(),ans3.getId(),
ans4.getId(),ans5.getId()};
添加(v.getId());
if(mclickedbutonids.size()>=mDesiredOrder.length)
{            
if(mclickedbutonids.get(0)=mDesiredOrder[0]
&&mClickedButtonIds.get(1)=mDesiredOrder[1]
&&mClickedButtonIds.get(2)=mDesiredOrder[2]
&&mClickedButtonIds.get(3)=mDesiredOrder[3]
&&mClickedButtonIds.get(4)=mDesiredOrder[4]
)
{
tv1.setText(“正确!”);
}
其他的
{
tv1.setText(“再试一次!”);
}
mClickedButtonIds.clear();
}
}
};
我打算把它改成这样

private OnClickListener click2 = new OnClickListener() { 

            @Override
            public void onClick(View v) {
            tv1.setText("");
            List<Integer> mClickedButtonIds = new ArrayList<Integer>();

            int[] mDesiredOrder = new int[] { ans1.getId(), ans2.getId(), ans3.getId(),
                                              ans4.getId(), ans5.getId(), ans6.getId() };   

            switch (main)
            {
            case 4 : Variable x = mClickedButtonIds.get(0) == mDesiredOrder[0] 
                    && mClickedButtonIds.get(1) == mDesiredOrder[1] 
                    && mClickedButtonIds.get(2) == mDesiredOrder[2]
                    && mClickedButtonIds.get(3) == mDesiredOrder[3];

            case 5 : Variable x = mClickedButtonIds.get(0) == mDesiredOrder[0] 
                    && mClickedButtonIds.get(1) == mDesiredOrder[1] 
                    && mClickedButtonIds.get(2) == mDesiredOrder[2]
                    && mClickedButtonIds.get(3) == mDesiredOrder[3]
                    && mClickedButtonIds.get(4) == mDesiredOrder[4];

            case 6: Variable x = mClickedButtonIds.get(0) == mDesiredOrder[0] 
                    && mClickedButtonIds.get(1) == mDesiredOrder[1] 
                    && mClickedButtonIds.get(2) == mDesiredOrder[2]
                    && mClickedButtonIds.get(3) == mDesiredOrder[3]
                    && mClickedButtonIds.get(4) == mDesiredOrder[4]
                    && mClickedButtonIds.get(5) == mDesiredOrder[5];
            }

            mClickedButtonIds.add(v.getId());
            if (mClickedButtonIds.size() >= mDesiredOrder.length )

            {            
                if (x)

                {
                    tv1.setText("Correct!");
                }
                else 
                {
                    tv1.setText("Try Again!");
                }
                mClickedButtonIds.clear();
             }
        }
 };
private OnClickListener click2=new OnClickListener(){
@凌驾
公共void onClick(视图v){
tv1.setText(“”);
List mClickedButtonIds=newarraylist();
int[]mDesiredOrder=new int[]{ans1.getId(),ans2.getId(),ans3.getId(),
ans4.getId(),ans5.getId(),ans6.getId()};
开关(主)
{
案例4:变量x=mClickedButtonIds.get(0)=mDesiredOrder[0]
&&mClickedButtonIds.get(1)=mDesiredOrder[1]
&&mClickedButtonIds.get(2)=mDesiredOrder[2]
&&mClickedButtonIds.get(3)=mDesiredOrder[3];
案例5:变量x=mClickedButtonIds.get(0)=mDesiredOrder[0]
&&mClickedButtonIds.get(1)=mDesiredOrder[1]
&&mClickedButtonIds.get(2)=mDesiredOrder[2]
&&mClickedButtonIds.get(3)=mDesiredOrder[3]
&&mClickedButtonIds.get(4)=mDesiredOrder[4];
案例6:变量x=mClickedButtonIds.get(0)=mDesiredOrder[0]
&&mClickedButtonIds.get(1)=mDesiredOrder[1]
&&mClickedButtonIds.get(2)=mDesiredOrder[2]
&&mClickedButtonIds.get(3)=mDesiredOrder[3]
&&mClickedButtonIds.get(4)=mDesiredOrder[4]
&&mClickedButtonIds.get(5)=mDesiredOrder[5];
}
添加(v.getId());
if(mclickedbutonids.size()>=mDesiredOrder.length)
{            
if(x)
{
tv1.setText(“正确!”);
}
其他的
{
tv1.setText(“再试一次!”);
}
mClickedButtonIds.clear();
}
}
};

变量x
是我想问的问题。是否有任何方法可以这样做,或者是否有任何
变量可以存储if-else条件。原因原代码,它被固定为5次点击。现在,我希望根据用户需要点击多少来改变所需的点击次数。

< P>根据代码片段,考虑循环:

boolean result = true;
for (int i = 0; i < main; ++i) {
    result = result && mClickedButtonIds.get(i) == mDesiredOrder[i];
    if (!result)
        break; // short-circuit out from loop if false
}

// now you can use "result" to test whether the condition matched all "main" ids
if (result) {
    // correct
} else {
    // bzzt, try again
}
布尔结果=true;
对于(int i=0;i<代码> > p>基于代码段,考虑循环:

boolean result = true;
for (int i = 0; i < main; ++i) {
    result = result && mClickedButtonIds.get(i) == mDesiredOrder[i];
    if (!result)
        break; // short-circuit out from loop if false
}

// now you can use "result" to test whether the condition matched all "main" ids
if (result) {
    // correct
} else {
    // bzzt, try again
}
布尔结果=true;
对于(int i=0;i<代码> > p>基于代码段,考虑循环:

boolean result = true;
for (int i = 0; i < main; ++i) {
    result = result && mClickedButtonIds.get(i) == mDesiredOrder[i];
    if (!result)
        break; // short-circuit out from loop if false
}

// now you can use "result" to test whether the condition matched all "main" ids
if (result) {
    // correct
} else {
    // bzzt, try again
}
布尔结果=true;
对于(int i=0;i<代码> > p>基于代码段,考虑循环:

boolean result = true;
for (int i = 0; i < main; ++i) {
    result = result && mClickedButtonIds.get(i) == mDesiredOrder[i];
    if (!result)
        break; // short-circuit out from loop if false
}

// now you can use "result" to test whether the condition matched all "main" ids
if (result) {
    // correct
} else {
    // bzzt, try again
}
布尔结果=true;
对于(int i=0;i
如果我理解正确,您希望x是一个可以通过编程更改的条件(但它符合某些结构),那么您可以使用接口
问题
和实现该接口的类来实现这一点

public interface Question {
    boolean getResponse(String condition1, int condition2);
}

public class StringIsLongCondition implements Question{

    public boolean getResponse(String condition1, int condition2) {
        return condition1.length()>condition2;
    }

}

public class StringIsShortCondition implements Question{

    public boolean getResponse(String condition1, int condition2) {
        return condition1.length()<condition2;
    }

}

如果我理解正确,您希望x是一个可以通过编程更改的条件(但它符合某些结构),那么您可以使用接口
问题
和实现该接口的类来实现这一点

public interface Question {
    boolean getResponse(String condition1, int condition2);
}

public class StringIsLongCondition implements Question{

    public boolean getResponse(String condition1, int condition2) {
        return condition1.length()>condition2;
    }

}

public class StringIsShortCondition implements Question{

    public boolean getResponse(String condition1, int condition2) {
        return condition1.length()<condition2;
    }

}

如果我理解正确,您希望x是一个可以通过编程更改的条件(但它符合某些结构),那么您可以使用接口
问题来实现这一点