Java 在消息对话框中看不到我的结果
我正在尝试创建一个向导来转换长度单位。我能够创建一个OptionDialog并让用户选择要进行的转换类型;但是,我无法在最后的MessageDialog中显示结果。以下是我正在使用的代码: 导入java.util.Scanner; 导入javax.swing.JOptionPane; 公共类长度转换{ 公共静态无效字符串[]args{ 双cmValue,inch值; 智力选择; //创建扫描仪对象 Scanner fromKeyboard=新建ScannerSystem.in; //自定义对象文本 对象[]选项={cm到英寸,英寸到厘米,取消}; //选项对话框 choice=JOptionPane.showOptionDialognull,选择一个选项,长度转换,JOptionPane.YES\u NO\u CANCEL\u选项,JOptionPane.INFORMATION\u消息,null,选项,选项[2]; //开始“if”语句 如果选择==0{ //显示输入对话框 String inputType=JOptionPane.ShowInputDialog输入要转换的cm:; //读取用户类型的值 cmValue=fromKeyboard.nextDouble; //计算厘米到英寸 inchValue=cmValue/2.54; //预览结果 字符串输出类型=JOptionPane.showInputDialognull,+inchValue+inches; }否则{ //要求用户输入值 String inputType=JOptionPane.ShowInputDialog输入要转换的英寸:; //读取用户类型的值 inchValue=fromKeyboard.nextDouble; //计算英寸到厘米 cmValue=inchValue*2.54; //显示结果 JOptionPane.showMessageDialognull,+cmValue+cm; }//else语句的结尾 }//末端总管 }//结束类长度转换Java 在消息对话框中看不到我的结果,java,Java,我正在尝试创建一个向导来转换长度单位。我能够创建一个OptionDialog并让用户选择要进行的转换类型;但是,我无法在最后的MessageDialog中显示结果。以下是我正在使用的代码: 导入java.util.Scanner; 导入javax.swing.JOptionPane; 公共类长度转换{ 公共静态无效字符串[]args{ 双cmValue,inch值; 智力选择; //创建扫描仪对象 Scanner fromKeyboard=新建ScannerSystem.in; //自定义对象文
我需要做些什么才能在最后显示结果?该应用程序工作正常,但设计非常糟糕 这是一个更好的例子
public class LengthConversion {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
double cmValue, inchValue;
int choice;
//Customise Object text
Object[] options = {"cm-to-inch", "inch-to-cm", "Cancel"};
//Option Dialog box
choice = JOptionPane.showOptionDialog(null, "Choice an option", "Length Conversion", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[2]);
String inputType;
switch(choice) {
case JOptionPane.YES_OPTION:
try {
//Show Input Dialog Box
inputType = JOptionPane.showInputDialog("Enter the cm to convert:");
cmValue = Double.parseDouble(inputType);
//Compute cm to inch
inchValue = cmValue / 2.54;
//Preview result
JOptionPane.showMessageDialog(null, + inchValue + " inches");
}
catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
}
break;
case JOptionPane.NO_OPTION:
try {
//Ask user to enter value
inputType = JOptionPane.showInputDialog("Enter the inch to convert:");
//Read value that user type
inchValue = Double.parseDouble(inputType);
//compute inch to cm
cmValue = inchValue * 2.54;
//Display result
JOptionPane.showMessageDialog(null, + cmValue + " cm");
}
catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
}
break;
}
}
}
考虑choice=0和choice=1,解决方案类似,此代码有以下行:
cmValue = fromKeyboard.nextDouble();
这基本上是在等待你从键盘输入一个数字。程序挂在那里等待你输入一个数字
对于解决方案,请将其注释掉并添加:
// cmValue = fromKeyboard.nextDouble();
cmValue = Integer.parseInt(inputType);
删除第一个+此处:JOptionPane.showMessageDialognull,+cmValue+cm;所以它是:JOptionPane.showMessageDialognull,cmValue+cm;请记住,这是一个粗略的骨架。要成为一个真正优秀的泛型操作,必须在单独的函数中导出。