【问题标题】:How do I set a minimum length for a string that I have?如何为我拥有的字符串设置最小长度?
【发布时间】:2016-09-22 23:43:38
【问题描述】:

我有一个 Editable,我已在 if 语句中将其制成 String。有没有办法让 if 语句仅在给定字符串少于 9 个字符时才适用?请看下面:

        if (answerSix.toString().equals("")) {


        } else {

            score = score + 20;

        }

        return score;

我将布尔 answerSix 设置为字符串,但它仅适用于给定字段中没有文本的情况。如果字符串少于 9 个字符,我希望它适用。请让我知道,如果你有任何问题。我感谢所有的帮助。

这是我的代码:

package com.example.android.quantummechanicsquiz;

    import android.provider.MediaStore;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.view.View;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.RadioButton;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends AppCompatActivity {

        int score = 0;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            score = 0;
        }


        public void radioButtonClicked(View view) {
            boolean checked = ((RadioButton) view).isChecked();

            switch (view.getId()) {
                case R.id.radio_one_correct:
                    if (checked) break;

                case R.id.radio_one_b:
                    if (checked) break;

                case R.id.radio_one_c:
                    if (checked) break;

                case R.id.radio_one_d:
                    if (checked) break;

                case R.id.radio_two_a:
                    if (checked) break;

                case R.id.radio_two_b:
                    if (checked) break;

                case R.id.radio_two_correct:
                    if (checked) break;

                case R.id.radio_two_d:
                    if (checked) break;

                case R.id.radio_four_a:
                    if (checked) break;

                case R.id.radio_four_b:
                    if (checked) break;

                case R.id.radio_four_correct:
                    if (checked) break;

                case R.id.radio_four_d:
                    if (checked) break;

                case R.id.radio_five_a:
                    if (checked) break;

                case R.id.radio_five_b:
                    if (checked) break;

                case R.id.radio_five_c:
                    if (checked) break;

                case R.id.radio_five_correct:
                    if (checked) break;


            }

        }


        private int calculateScore(boolean answerOne, boolean answerTwo, boolean answerThreeA,
                                   boolean answerThreeB, boolean answerThreeC, boolean answerThreeD,
                                   boolean answerFour, boolean answerFive, Editable answerSix) {
            score = 0;

            if (answerOne) {

                score = score + 100 / 6;


            } else {


            }

            if (answerTwo) {

                score = score + 100 / 6;

            } else {


            }


            if (answerThreeA || answerThreeD) {



            } else if (answerThreeB && answerThreeC){

                score = score + 100 / 6;
            }


            if (answerFour) {

                score = score + 100 / 6;

            } else {


            }

            if (answerFive) {

                score = score + 100 / 6;

            } else {


            }


            if (answerSix.toString().equals("")) {


            } else {

                score = score + 20;

            }

            return score;

        }


        public void submitScore(View view) {
            RadioButton answerOne = (RadioButton) findViewById(R.id.radio_one_correct);
            boolean correctAnswerOne = answerOne.isChecked();

            RadioButton answerTwo = (RadioButton) findViewById(R.id.radio_two_correct);
            boolean correctAnswerTwo = answerTwo.isChecked();

            CheckBox answerThreeA = (CheckBox) findViewById(R.id.checkbox_three_a);
            boolean incorrectAnswerThreeA = answerThreeA.isChecked();

            CheckBox answerThreeB = (CheckBox) findViewById(R.id.checkbox_three_b_correct);
            boolean correctAnswerThreeB = answerThreeB.isChecked();

            CheckBox answerThreeC = (CheckBox) findViewById(R.id.checkbox_three_c_correct);
            boolean correctAnswerThreeC = answerThreeC.isChecked();

            CheckBox answerThreeD = (CheckBox) findViewById(R.id.checkbox_three_d);
            boolean incorrectAnswerThreeD = answerThreeD.isChecked();

            RadioButton answerFour = (RadioButton) findViewById(R.id.radio_four_correct);
            boolean correctAnswerFour = answerFour.isChecked();

            RadioButton answerFive = (RadioButton) findViewById(R.id.radio_five_correct);
            boolean correctAnswerFive = answerFive.isChecked();

            EditText answerSix = (EditText) findViewById(R.id.question_six_edit_text);
            Editable correctAnswerSix = answerSix.getEditableText();

            int finalScore = calculateScore(correctAnswerOne, correctAnswerTwo,
                    incorrectAnswerThreeA, correctAnswerThreeB, correctAnswerThreeC,
                    incorrectAnswerThreeD, correctAnswerFour, correctAnswerFive, correctAnswerSix);

            Toast.makeText(this, "Congratulations! You have a score of " + finalScore + " out of " +
                    "100", Toast.LENGTH_LONG).show();

    }

}

【问题讨论】:

  • 当变量名相差一个数字时,您应该使用列表或数组。

标签: java android if-statement character


【解决方案1】:

你能做到以下几点吗?

    if (answerSix.toString().length()<9) {

【讨论】:

    猜你喜欢
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2021-09-18
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多