首页 > 解决方案 > 这里的设置器或 if 语句有什么问题

问题描述

我有下面的代码,它工作正常,但只有 1 个 if 语句没有做任何事情,我不明白为什么我的代码是:

我已将 (******这是有问题的 if 语句 *****) 放在有问题的 if 语句旁边。

有趣的是,在第一个 main if 语句中if theVerb.endsWith(Ani)它运行完美,但它不适用于第二个 main if 语句if theVerb.endsWith(Attah_att)

public void showResult (View showResultView) {
    Intent showResult;
    showResult = new Intent(this, VerbSearch.class);
    EditText getTheVerb = (findViewById(R.id.editText2));
    String theVerb = getTheVerb.getText().toString().trim();
    TextView setBenyan = findViewById(R.id.benyanText);
    TextView setZman = findViewById(R.id.zmanText);
    TextView setGuf = findViewById(R.id.gufText);
    TextView setVerb = findViewById(R.id.verbText);

    String ani = "תי";
    String attah_att = "ת";
    int numberOfletter;
    String Thesubstring = null;
    String tl = null;
    String fl = null;
    String fil = null;
//First main if statement
    if(theVerb.endsWith(ani)) {
        numberOfletter = theVerb.indexOf(ani);
        Thesubstring = theVerb.substring(0, numberOfletter);
        // Hitpael Past
        if((Thesubstring.length() == 5) && ((Thesubstring.substring(0,2).equals("הת") || Thesubstring.substring(0,2).equals("הש")
                || Thesubstring.substring(0,2).equals("הס") || Thesubstring.substring(0,2).equals("הז")
                || Thesubstring.substring(0,2).equals("הצ")))) {
            fil = theVerb.substring(4,5);
            setBenyan.setText("התפעל");
            setZman.setText("עבר");
            setGuf.setText("אני");
            setVerb.setText(theVerb.substring(0,4).concat(fil));
        }
    }


// second main if statement
    if(theVerb.endsWith(attah_att)) {
        numberOfletter = theVerb.indexOf(attah_att);
        Thesubstring = theVerb.substring(0, numberOfletter);
        // Hitpael Past  ******This is the problematic if statement*****
        if((Thesubstring.length() == 5) && ((Thesubstring.substring(0,2).equals("הת") || Thesubstring.substring(0,2).equals("הש")
                || Thesubstring.substring(0,2).equals("הס") || Thesubstring.substring(0,2).equals("הז")
                || Thesubstring.substring(0,2).equals("הצ")))) {
            fil = theVerb.substring(4,5);
            setBenyan.setText("התפעל");
            setZman.setText("עבר");
            setGuf.setText("אתה/את");
            setVerb.setText(theVerb.substring(0,4).concat(fil));
        }
    }
}

标签: javaandroid

解决方案


答案我终于发现了问题所在。我只需要使用lastIndexOf而不是indexOf


推荐阅读