-1

次の条件に問題があります。

if (Cuadrado.isChecked() == true)

これは完全なコードです:

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {

    String dato5 = DatoMath.getText().toString();

    if (Cubo.isChecked()==true) {

        if (dato5.equals("")) {
            Toast toast = Toast.makeText(getApplicationContext(), "no hay datos", Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER | Gravity.LEFT, 0, 0);
            toast.show();
        } else {
            int datofinal = Integer.parseInt(dato5);
            int final3 = (int) Math.pow(datofinal, 2);

            Resultado.setText("" + final3);};

    if (Cuadrado.isChecked() == true) {

        if (dato5.equals("")) {
                    Toast toast = Toast.makeText(getApplicationContext(), "no hay datossssss", Toast.LENGTH_SHORT);
                    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT, 0, 0);
                    toast.show();

        } else {
                    int datofinal2 = Integer.parseInt(dato5);
                    int final4 = (int) Math.pow(datofinal2, 3);

                    Resultado.setText("" + final4);

        };
4

2 に答える 2

0

コードを意図的に複雑にしている理由は次のとおりです。

if (Cubo.isChecked())
{
//do whatever you want to do
}

isChecked メソッドはブール値を返すので、その if 条件内に直接書き込むことができます

もう 1 つ、なぜセミコロン [ ; を付けたのですか? ] else ステートメントの閉じ中かっこ [ } ] の後に、そのセミコロンを別の閉じ中かっこ [ } ] に置き換えます。

于 2014-11-29T19:15:51.230 に答える