Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 此简单GUI程序中存在错误_Java_Swing - Fatal编程技术网

Java 此简单GUI程序中存在错误

Java 此简单GUI程序中存在错误,java,swing,Java,Swing,这个简单的程序应该能够获得加价百分比和批发成本,并计算零售价格。我在“计算”按钮上放置了一个操作侦听器,但当我按下“计算”按钮时,出现以下错误: Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "Enter the markup precentage" at sun.misc.FloatingDecimal.readJavaFormatString(Unknow

这个简单的程序应该能够获得加价百分比和批发成本,并计算零售价格。我在“计算”按钮上放置了一个操作侦听器,但当我按下“计算”按钮时,出现以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: 
For input string: "Enter the markup precentage" 
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) 
at java.lang.Double.parseDouble(Unknown Source) 
at mm$CalcListerner.actionPerformed(mm.java:58) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
有人能帮我解决这个问题吗

有人能解释一下这些错误信息吗,因为我真的不明白这些吗

我的代码是:

import javax.swing.*;
导入java.awt.event.*;
公共类mm扩展JFrame{
私人批发商成本;
私有JTextField markupPresentage;
私人JLabel WCost;
私人JLabel MPrecentage;
私人按钮;
私人JPanel pannel;
专用最终整数宽度=250;
私人最终内部高度=320;
公共mm(){
setTitle(“零售价格计算器”);
设置尺寸(宽度、高度);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(真);
buildPanel();
添加(窗格);
}
私有void buildPanel(){
批发商成本=新JTextField(10);
markupPresentage=新的JTextField(10);
WCost=新JLabel(“输入全部销售成本”);
MPrecentage=new JLabel(“输入标记前状态”);
按钮=新按钮(“计算”);
addActionListener(新的CalcListerner());
pannel=新的JPanel();
面板。添加(批发商成本);
pannel.add(markupPresentage);
添加窗格(WCost);
面板添加(MPrecentage);
面板。添加(按钮);
}
私有类CalcListerner实现ActionListener{
已执行的公共无效操作(操作事件e){
字符串输入;
字符串MPres;
WSaleinput=批发商成本。getText();
MPres=MPrecentage.getText();
double Value=double.parseDouble(WSaleinput)*(double.parseDouble(MPres)/100);
showMessageDialog(null,“零售价为”+价值);
}
}
公共静态void main(字符串[]args){
mm x=新的mm();
}
}

您试图将MPrecentage.getText()解析为双精度,但这是标签的值,而不是输入的值

您应该将
MPres
设置为
markupPercentage.getText()


如果jvm无法从您给定的字符串中获取数字,则会抛出错误NumberFormatException。在本例中,您试图解析文本“Enter the markup precentage”中的数字。

您试图将MPrecentage.getText()解析为双精度,但这是标签的值,而不是输入的值

您应该将
MPres
设置为
markupPercentage.getText()


如果jvm无法从您给定的字符串中获取数字,则会抛出错误NumberFormatException。在本例中,您试图解析文本“enterthemarkupprecentage”中的数字。

您试图引用错误的组件

这个

实际上应该是

WSaleinput = WholesaleCost.getText();
MPres = markupPresentage.getText();

您试图引用错误的组件

这个

实际上应该是

WSaleinput = WholesaleCost.getText();
MPres = markupPresentage.getText();

出现了什么错误?我还是看不到。将其直接添加到您的问题中,因为您可能没有足够的声誉来发布链接。@线程“AWT-EventQueue-0”java.lang.NumberFormatException中的Vulcan异常:对于输入字符串:“在sun.misc.FloatingDecimal.readJavaFormatString(未知源)中的java.lang.Double.parseDouble(未知源)中输入标记格式”javax.swing.AbstractButton$Handler.actionPerformed(未知源)javax.swing.AbstractButton$Handler.actionPerformed(未知源)javax.swing.DefaultButtonModel.fireActionPerformed(未知源)javax.swing.DefaultButtonModel.setPressed(未知源)。。。。。。。。。。。还有,出现了什么错误?我还是看不到。将其直接添加到您的问题中,因为您可能没有足够的声誉来发布链接。@线程“AWT-EventQueue-0”java.lang.NumberFormatException中的Vulcan异常:对于输入字符串:“在sun.misc.FloatingDecimal.readJavaFormatString(未知源)中的java.lang.Double.parseDouble(未知源)中输入标记格式”javax.swing.AbstractButton$Handler.actionPerformed(未知源)javax.swing.AbstractButton$Handler.actionPerformed(未知源)javax.swing.DefaultButtonModel.fireActionPerformed(未知源)javax.swing.DefaultButtonModel.setPressed(未知源)。。。。。。。。。。。更多基本上你说“请java你能转换”输入标记前的符号“到一个双精度”。Java说,“我无法识别您传递给我的是一个数字或一个数字的格式”——因此出现了
NumberFormatException
。它只是说,值不是Java可以转换的可识别的数字格式。基本上,您说的是“请Java可以转换”输入标记前缀“转换为双精度”。Java说,“我无法识别您传递给我的是一个数字或一个数字的格式”——因此出现了
NumberFormatException
。它只是说,值不是Java可以转换的可识别数字格式。