jeudi 8 janvier 2015

Android can anyone tell me whats wrong with this? the if else doesn't give me what i want

So im making a converter. I'm having problems with the result which i named "dataValue". i think its my if-else statement but im not sure... i did the string.equals thing but im new to this stuff....


heres the code:



private void SetOnClickConvertButton(){
Button convert = (Button) findViewById(R.id.buttonConvert);


convert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

EditText value = (EditText) findViewById(R.id.editTextValue);
String dataValue = value.getText().toString();

EditText unit = (EditText) findViewById(R.id.editTextUnits);
String dataUnit = unit.getText().toString();

EditText toUnit = (EditText) findViewById(R.id.editTextToUnits);
String dataToUnit = unit.getText().toString();


if(dataUnit.equals("Pound")){
if(dataUnit.equals("Stone")){

double num=0;
num = 0.0714286 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Milligram")){

double num=0;
num = 453592 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Gram")){

double num=0;
num = 453.592 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);


}if(toUnit.equals("Kilogram")){

double num=0;
num = 0.453592 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}

}if(dataUnit.equals("Stone")){
if(toUnit.equals("Pound")){

double num=0;
num = 14 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Milligram")){

double num=0;
num = 6350290 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Gram")){

double num=0;
num = 6350.29 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Kilogram")){

double num=0;
num = 6.35029 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}

}if(dataUnit.equals("Milligram")){
if(toUnit.equals("Pound")){

double num=0;
num = 0.0000022046 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Stone")){

double num=0;
num = 0.0000001575 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("gram")){

double num=0;
num = 0.001 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Kilogram")){

double num=0;
num = 0.000001 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}

}if(dataUnit.equals("Gram")){
if(toUnit.equals("Pound")){

double num=0;
num = 0.0022046226 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Stone")){

double num=0;
num = 0.000157473 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Milligram")){

double num=0;
num = 1000 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Kilogram")){

double num=0;
num = 1000000 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}

}if(dataUnit.equals("Kilogram")){
if(toUnit.equals("Pound")){

double num=0;
num = 2.2046226218 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Stone")){

double num=0;
num = 0.1574730444 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Milligram")){

double num=0;
num = 1000000 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}if(toUnit.equals("Gram")){

double num=0;
num = 1000 * (Double.parseDouble(dataValue));
dataValue = String.valueOf(num);

}
TextView DisplayValue = (TextView) findViewById(R.id.textViewAnswerValue);
TextView DisplayUnit = (TextView) findViewById(R.id.textViewAnswerUnits);
DisplayUnit.setText(dataToUnit);
DisplayValue.setText(dataValue);
}
});

}


so guys what do you thing is wrong with the codes?


Aucun commentaire:

Enregistrer un commentaire