Java 当使用微调器的值转换十进制值时,我有一个错误
我有一个简单的转换器应用程序。微调器具有相同的单位。我认为我写的所有东西都是正确的,但只有在注释代码的其余部分并且只使用第一种情况下,它才起作用,在第一种情况下,我将立方毫米(mm3)转换为第二个微调器中的任何单位。当我也包括其他情况时,它会写入不正确的值 需要知道的几件事:“valv1”是一个编辑文本,我在其中输入数字值,“valv3”是一个简单的文本视图,我在其中写入该值。我不想让用户编辑结果值,因为我不知道如何进行双向转换 这是我从我的微调器定义位置变量的地方,我知道我可以直接使用“pos1”和“pos2”,但这样对我来说比较容易,我是一个完全的初学者Java 当使用微调器的值转换十进制值时,我有一个错误,java,android,Java,Android,我有一个简单的转换器应用程序。微调器具有相同的单位。我认为我写的所有东西都是正确的,但只有在注释代码的其余部分并且只使用第一种情况下,它才起作用,在第一种情况下,我将立方毫米(mm3)转换为第二个微调器中的任何单位。当我也包括其他情况时,它会写入不正确的值 需要知道的几件事:“valv1”是一个编辑文本,我在其中输入数字值,“valv3”是一个简单的文本视图,我在其中写入该值。我不想让用户编辑结果值,因为我不知道如何进行双向转换 这是我从我的微调器定义位置变量的地方,我知道我可以直接使用“pos
switch (a){
case 1: if(b==1){ double mm31= Double.valueOf(valv1.getText().toString());
valv3.setText(String.valueOf(mm31));
}
if(b==2){ double mm31= Double.valueOf(valv1.getText().toString());
double cm3= mm31*0.001;
valv3.setText(String.valueOf(cm3));
}
if(b==3){ double mm31= Double.valueOf(valv1.getText().toString());
double dm3= mm31*0.000001;
valv3.setText(String.valueOf(dm3));
}
if(b==4){ double mm31= Double.valueOf(valv1.getText().toString());
double m3= mm31*0.000000001;
valv3.setText(String.valueOf(m3));
}
if(b==5){ double mm31= Double.valueOf(valv1.getText().toString());
double ml= mm31*0.001;
valv3.setText(String.valueOf(ml));
}
if(b==6){ double mm31= Double.valueOf(valv1.getText().toString());
double cl= mm31*0.0001;
valv3.setText(String.valueOf(cl));
}
if(b==7){ double mm31= Double.valueOf(valv1.getText().toString());
double dl= mm31*0.00001;
valv3.setText(String.valueOf(dl));
}
if(b==8){ double mm31= Double.valueOf(valv1.getText().toString());
double l= mm31*0.000001;
valv3.setText(String.valueOf(l));
}
if(b==9){ double mm31= Double.valueOf(valv1.getText().toString());
double hl= mm31*0.00000001;
valv3.setText(String.valueOf(hl));
}
这将处理我的第一个微调器中的第一个值,并且工作正常。但是,当我为第一个微调器的其他位置添加其余代码时,就会出现问题
case 2:
if(b==1){ double cm31= Double.valueOf(valv1.getText().toString());
double mm32= cm31*1000;
valv3.setText(String.valueOf(mm32));
}
if(b==2){ double cm31= Double.valueOf(valv1.getText().toString());
double cm32= cm31*1;
valv3.setText(String.valueOf(cm32));
}
if(b==3){ double cm31= Double.valueOf(valv1.getText().toString());
double dm3= cm31*0.001;
valv3.setText(String.valueOf(dm3));
}
if(b==4){ double cm31= Double.valueOf(valv1.getText().toString());
double m3= cm31*0.000001;
valv3.setText(String.valueOf(m3));
}
if(b==5){ double cm31= Double.valueOf(valv1.getText().toString());
double ml= cm31*1;
valv3.setText(String.valueOf(ml));
}
if(b==6){ double cm31= Double.valueOf(valv1.getText().toString());
double cl= cm31*0.1;
valv3.setText(String.valueOf(cl));
}
if(b==7){ double cm31= Double.valueOf(valv1.getText().toString());
double dl= cm31*0.01;
valv3.setText(String.valueOf(dl));
}
if(b==8){ double cm31= Double.valueOf(valv1.getText().toString());
double l= cm31*0.001;
valv3.setText(String.valueOf(l));
}
if(b==9){ double cm31= Double.valueOf(valv1.getText().toString());
double hl= cm31*0.00001;
valv3.setText(String.valueOf(hl));
}
case 3:
if(b==1){ double dm31= Double.valueOf(valv1.getText().toString());
double mm32= dm31*1000000;
valv3.setText(String.valueOf(mm32));
}
if(b==2){ double dm31= Double.valueOf(valv1.getText().toString());
double cm32= dm31*1000;
valv3.setText(String.valueOf(cm32));
}
if(b==3){ double dm31= Double.valueOf(valv1.getText().toString());
double dm3= dm31*1;
valv3.setText(String.valueOf(dm3));
}
if(b==4){ double dm31= Double.valueOf(valv1.getText().toString());
double m3= dm31*0.001;
valv3.setText(String.valueOf(m3));
}
if(b==5){ double dm31= Double.valueOf(valv1.getText().toString());
double ml= dm31*1000;
valv3.setText(String.valueOf(ml));
}
if(b==6){ double dm31= Double.valueOf(valv1.getText().toString());
double cl= dm31*100;
valv3.setText(String.valueOf(cl));
}
if(b==7){ double dm31= Double.valueOf(valv1.getText().toString());
double dl= dm31*10;
valv3.setText(String.valueOf(dl));
}
if(b==8){ double dm31= Double.valueOf(valv1.getText().toString());
double l= dm31*1;
valv3.setText(String.valueOf(l));
}
if(b==9){ double dm31= Double.valueOf(valv1.getText().toString());
double hl= dm31*0.01;
valv3.setText(String.valueOf(hl));
}
事情还在继续。。直到最后一个案例-案例9
我的微调器值如下所示:
<string-array name="volume1">
<item>mm3</item>
<item>cm3</item>
<item>dm3</item>
<item>m3</item>
<item>ml</item>
<item>cl</item>
<item>dl</item>
<item>l</item>
<item>hl</item>
</string-array>
mm3
立方厘米
dm3
m3
毫升
氯
dl
L
hl
看起来您的switch语句写得不正确。
在每个案例的结尾都应该有一个break语句。
在这里查看java switch语句的语法:
你到底想做什么,你的问题还不太清楚。谢谢,你完全救了我。我要去把我的眼睛修好。。。非常感谢你!