有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我得到了“无效”的结果,即使输入有效,有人知道为什么吗?

当输入无效(空等)时,它会崩溃。有什么想法吗

我尝试了各种方法来重新安排代码,但都没能成功。 当引入有效输入时,应用程序工作正常

public class fourth extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fourth);


        final Button calc = (Button) findViewById(R.id.calculeaza);
        final EditText e1 = (EditText) findViewById(R.id.inaltime);
        final EditText e2 = (EditText) findViewById(R.id.greutate);
        final TextView t1 = (TextView) findViewById(R.id.rezultat);
        calc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                String text = e1.getText().toString();
                String text2 = e2.getText().toString();


                if (text == ( "," ) || text == ( "" ) || text == ( "-" ) || text2 == ( "," ) || text2 == ( "" ) || text2 == ( "-" ))
                {

                    float num1 = Float.parseFloat(e1.getText().toString());
                    float num2 = Float.parseFloat(e2.getText().toString());
                    float sum = ( num2 / ( ( num1 * num1 ) / 10000 ) );
                    t1.setText(Float.toString(sum));

                } else {
                    t1.setText("Invalid");


                }

            }


        });
    }
}

共 (1) 个答案

  1. # 1 楼答案

    首先。你的字符串比较是错误的。你应该使用String#equals

    因此:

    if (text.equals(",") || text.equals("") || text.equals("-") || text2.equals(",") || text2.equals("") || text2.equals("-"))
    

    您尚未指定所得到的错误。然而,我的猜测是,错误发生在将文本解析为浮动的行上。如果text,,那么这样做是没有意义的