好吧,我对整体成品有疑问,我对此很陌生,所以我无法发现哪里出了问题。我输入我的转换类型,例如:1(英寸-厘米)说我想知道 5 英寸是多少厘米,结果会是:12.7 厘米 = 55.0 ?对我来说,为什么这样做毫无意义,任何帮助都会很棒!
switch(Integer.parseInt(jTextField1.getText())){
case 1:
InchesToCm();
break;
case 2:
CmToFeet();
break;
case 3:
MetresToYards();
break;
case 4:
KmToMetres();
break;
default:
jLabel8.setText("Error, try again");
break;
}
}
private void InchesToCm() {
double inches, centimetres; //identify variables
String messageOut;
inches = Double.parseDouble(jTextField2.getText()); //get the text
centimetres = (inches*2.54); //preform
messageOut = centimetres + "cm = " + Math.round(inches) + inches; //msg
jLabel8.setText(messageOut);
}
private void CmToFeet() {
double feet, centimetres;
String messageOut;
feet = Double.parseDouble(jTextField2.getText());
centimetres = (feet*30);
messageOut = centimetres + "cm = " + Math.round(feet) + feet;
jLabel8.setText(messageOut);
}
private void MetresToYards() {
double metres, yards;
String messageOut;
yards = Double.parseDouble(jTextField2.getText());
metres = (yards*0.91);
messageOut = metres + "m = " + Math.round(yards) + yards;
jLabel8.setText(messageOut);
}
private void KmToMetres() {
double miles, kilometres;
String messageOut;
miles = Double.parseDouble(jTextField2.getText());
kilometres = (miles*1.6);
messageOut = kilometres + "km = " + Math.round(miles) + miles;
jLabel8.setText(messageOut);
}
最佳答案
您连续两次打印 inches
变量,这让您感到困惑。 Math.round
返回值负责 5
以及 inches
本身的打印(double
)负责 5.0
。连接起来,它显示为 55.0
。我怀疑您想要打印字符串 “英寸”
:
messageOut = centimetres + "cm = " + Math.round(inches) + " inches";
应对其他方法进行类似的更改。
关于java - 转换计算器,结果有问题..随机答案不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715797/