Android 多个答案,但我只想要一个

Android 多个答案,但我只想要一个,android,Android,我创建了几个if-else语句,并解析了一个double,然后答案是double=每个else语句。当我运行程序时,它运行得很好,除了每个答案如果给出 //Makes a variable for the entered amount double mercurypf; double venuspf; double earthpf; double marspf; double

我创建了几个if-else语句,并解析了一个double,然后答案是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 9.1 0.0.0.0等。。。。除了被选中的行星外,其余的都是0.0>我知道这是由于我的=mercurypf+冥王星。。。有没有一种方法可以避免这样做,但仍然返回他们选择的单选按钮的结果?

只需将您的结构更改为以下内容

  // 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( ...

继续这样

更改为以下内容,因为您不关心每个行星上的重量:

  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);

您可能想用相关的编程语言对此进行标记。谢谢你们,我将尝试这两种答案!