Java IF/ELSE语句验证问题

Java IF/ELSE语句验证问题,java,android,Java,Android,我有以下代码: View.OnClickListener calcu = new View.OnClickListener() { public void onClick(View v) { double q; String d = ""; double factor = cpi[to] / cpi [from]; DecimalFormat decimalFormat = new DecimalFormat("0.##")

我有以下代码:

View.OnClickListener calcu = new View.OnClickListener() {
    public void onClick(View v) {
        double q;
        String d = "";
        double factor = cpi[to] / cpi [from];
        DecimalFormat decimalFormat = new DecimalFormat("0.##");
        if (eNum.getText().toString().length() <= 0 || bFrom.getText() == "- Select a Year -" || bTo.getText() == "- Select a Year -") {
            if (eNum.getText().toString().length() <= 0) {
                d += "Enter Dollar Amount";
                eNum.setTextColor(Color.RED);
            }
            if (bFrom.getText() == "- Select a Year -") {
                d += "Select a Year";
                bFrom.setTextColor(Color.RED);
            }
            if (bTo.getText() == "- Select a Year -") {
                d += "Select a Year";
                bTo.setTextColor(Color.RED);
            }
        }
        else {
            dollarAmount = factor * Double.parseDouble(eNum.getText().toString());
            String value = Double.toString(dollarAmount);
            if (value.charAt(value.length() - 2) == '.') {
                value += "0";
            }
            displayToast("Dollar: " + value);

            if (cpi[to] != cpi[from]) {
                double f, y;
                if (cpi[to] > cpi[from]) {
                    f = cpi[to] / cpi [from];
                    y = to - from;
                }
                else {
                    f = cpi[from] / cpi[to];
                    y = from - to;
                }
                q = Math.pow(f, 1/y);
                q = (q-1)*100.0;
                q = Math.round(q*100.0)/100.0;
                displayToast("Inflation: " + String.valueOf(decimalFormat.format(q)));
            }
        }
    }
};
displayToast是向用户显示Toast消息的函数

枚举是一个编辑文本

bFrom和bTo是按钮

激活onClick方法时我希望发生的事情:

如果枚举为空,我希望将文本颜色设置为红色。 如果bFrom和bTo按钮文本为-Select a Year-,我想使文本颜色为红色。 如果1和2不正确,则显示祝酒词。 现在当我点击时,什么都没有发生。如何修复上述代码以使其正常工作?

更改此选项:

bFrom.getText==选择一年-

为此:

bFrom.getText.equals-选择一年-

你的bTo也是如此。getText==-选择一个年份行


使用.equals来比较对象,例如字符串和==作为基本体

如果要比较字符串,则需要使用.equals.

你的问题是什么?只是检查一下,你是否设置了ClickListenerCalcua?1在比较字符串/对象时使用equals而不是==是的。@ChristopherFrancisco是的。对不起,忘了发布那个部分:说真的,Java字符串比较被问了多少次?还是在生活中?谢谢。它解决了这个问题!是的,但是一小时前已经有人说过同样的话了。刚才强调了他面临的问题。@sachin谢谢你的回复,我很感激。别在意戴夫·牛顿!