-1

double を解析するとともに、いくつかの if else ステートメントを作成しました。答えは double = 各 else ステートメントです。プログラムを実行すると、指定された場合の各回答を除いて、美しく実行されます...

//Makes a variable for the entered amount
            double mercurypf;
            double venuspf;
            double earthpf;
            double marspf;
            double jupiterpf;
            double saturnpf;
            double uranuspf;
            double neptunepf;
            double plutopf;


            // constants
            final double mercuryforce = 0.38; 
            final double venusforce = 0.91; 
            final double earthforce = 1.00; 
            final double marsforce = 0.38; 
            final double jupiterforce = 2.34; 
            final double saturnforce = 1.06; 
            final double uranusforce = .92;
            final double neptuneforce = 1.19;
            final double plutoforce = 0.06;



            // Code used to determine which planet RadioButton is checked:

            if(mercury.isChecked())
            {
                mercurypf = mercuryforce * weight;
            }
            else
            {
                mercurypf = 0.00;
            }


            if(venus.isChecked())
            {
                venuspf = venusforce * weight;
            }
            else
            {
                venuspf = 0.00;

            }
            if(earth.isChecked())
            {
                earthpf = earthforce * weight;
            }
            else
            {
                earthpf = 0.00;
            }
            if(mars.isChecked())
            {
                marspf = marsforce * weight;
            }
            else
            {
                marspf = 0.00;
            }
            if(jupiter.isChecked())
            {
                jupiterpf =jupiterforce * weight;
            }
            else
            {
                jupiterpf = 0.00;
            }
            if(saturn.isChecked())
            {
                saturnpf = saturnforce * weight;
            }
            else
            {
                saturnpf = 0.00;
            }

            if(uranus.isChecked())
            {
                uranuspf = uranusforce * weight;
            }
            else
            {
                uranuspf = 0.00;
            }

            if(neptune.isChecked())
            {
                neptunepf = neptuneforce * weight;
            }
            else
            {
                neptunepf = 0.00;
            }

            if(pluto.isChecked())
            {
                plutopf = plutoforce * weight;
            }
            else
            {
                plutopf = 0.00;
            }

            //Creates a textview object, assigns the xml r.id, and then changes the     text to report the amount.
         TextView t = (TextView)findViewById(R.id.ansTextView); 
            t.setText("Your planetary weight is: " + plutopf + neptunepf + uranuspf     + saturnpf + jupiterpf + marspf + earthpf + mercurypf + venuspf);

        }
    }

答えは 0.0 0.0 0.0 9.1 0.0 0.0 などになります。選択された惑星以外はすべて 0.0 のままです。それを行っても、選択したラジオ ボタンの結果を返すことはありますか?

4

2 に答える 2

5

構造を次のように変更するだけです

  // constants
        final double mercuryforce = 0.38; 
        final double venusforce = 0.91; 
        final double earthforce = 1.00; 
        final double marsforce = 0.38; 
        final double jupiterforce = 2.34; 
        final double saturnforce = 1.06; 
        final double uranusforce = .92;
        final double neptuneforce = 1.19;
        final double plutoforce = 0.06;

  TextView t = (TextView)findViewById(R.id.ansTextView); 
  if(uranus.isChecked())
        {
            double uranuspf = uranusforce * weight;
            t.setText("Your planetary weight is: " + uranuspf;
        }
   else if(mercury.isChecked())
        {
            double mercurepf = mercuryforce * weight;
            t.setText("Your planetary weight is: " + mercurypf;
        }
   else if( ...

そして、このように続けます

于 2012-11-16T17:28:31.387 に答える
1

各惑星の重量は気にしないので、次のように変更します。

  double pf = 0.0;
  TextView t = (TextView)findViewById(R.id.ansTextView); 
  if(mercury.isChecked())
     pf = mercuryforce * weight;
  else if(venus.isChecked())
     pf = venusforce * weight;
  .....
  else if (pluto.isChecked())
     pf = plutoforce * weight;

  t.setText("Your planetary weight is: " + pf);

または、それをさらに良くするために

double mult = 0.0;
if (mercury.isChecked())
   mult = mercuryForce;
else if (venus.isChecked())
   mult = venusForce;
....
else if (pluto.isChecked())
   mult = plutoForce;

t.setText("Your Planetary weight is: " + mult * weight);
于 2012-11-16T17:32:04.000 に答える