对多个if语句使用arraylist(带按钮)

时间:2016-10-20 13:50:11

标签: android if-statement arraylist

我目前正在Android Studio中开展一个学校项目,到目前为止,我已经编写了一个生成随机方程式的代码。 现在我在屏幕上显示两个方程式,然后用户必须决定第二个方程式是大于还是小于第一个方程式。如果第二个更大,则用户按下“更大”按钮,如果第二个更小,则用户按下“更小”的按钮。 现在我试图编写代码,如果用户按下正确,它会生成一个新的等式,如果他错了,过程就会停止。 我在想是否如此陈述:

final ArrayList<String> arrayListCheck = new ArrayList<String>();

    if(doubleAnswer1 > doubleAnswer2){
        arrayListCheck.add("smaller");
    } else {
        arrayListCheck.add("bigger");
    }

    final Button buttonBigger = (Button)findViewById(R.id.button_bigger);
    final Button buttonSmaller = (Button)findViewById(R.id.button_smaller);

    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(v.equals(buttonBigger)){
                arrayListCheck.add("bigger");
            } else {
                arrayListCheck.add("smaller");
            }
        }
    };

    buttonBigger.setOnClickListener(listener);
    buttonSmaller.setOnClickListener(listener);

在arraylist arrayListCheck中,它将存储更大的&#39;更大的&#39;或者&#39;较小的&#39;。现在我想检查arraylist中的元素是否都是相同的(要么更大&#39;要么更小&#39;或者更小&#39;),如果是这样,将生成一个新的等式。如果arraylist中的元素不同(不是两者都相同),则将停止该过程。 我不知道这是否真的有效,所以如果有人可以帮助我,我会很高兴。

如果我的问题中有任何不清楚的地方,请随时提出,我会尽力澄清问题:)

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不会使用ArrayList。

我会做以下事情:

View.OnClickListener listener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(v.equals(buttonBigger) && doubleAnswer1 < doubleAnswer2) {
            Log.v("TAG", "you are right");
        } else if(v.equals(buttonSmaller) && doubleAnswer1 > doubleAnswer2) {
            Log.v("TAG", "you are right");
        } else {
            Log.v("TAG", "you are wrong");
        }
    }
};

对于这种简单的比较,数组并不是必需的。