线程“AWT-EventQueue-0”java.lang.NumberFormatException中的异常:对于输入字符串:“FALSE”
我的代码:线程“AWT-EventQueue-0”java.lang.NumberFormatException中的异常:对于输入字符串:“FALSE”,java,Java,我的代码: public class BehemothSelectGUI extends javax.swing.JFrame { private static DBUtil db = new DBUtil(); private static Populate populate = new Populate(); static int WepHitPoints; static int ShoulderHitPoints; static int ChestHitPoints; static int
public class BehemothSelectGUI extends javax.swing.JFrame {
private static DBUtil db = new DBUtil();
private static Populate populate = new Populate();
static int WepHitPoints;
static int ShoulderHitPoints;
static int ChestHitPoints;
static int WristHitPoints;
static int HelmHitPoints;
static int WepAttack;
static int HelmDef;
static int ShoulderDef;
static int WristDef;
static int ChestDef;
static int HelmMoveSpeed;
static int WepMoveSpeed;
static int ChestMoveSpeed;
static int ShoulderMoveSpeed;
static int WristMoveSpeed;
private void cmbMothHeadActionPerformed(java.awt.event.ActionEvent evt) {
String data[][] = db.selectAll("tblBehemoth");
for (int i = 0; i < data.length; i++) {
if (data[i][1].equals((String) cmbMothHead.getSelectedItem())) {
HelmHitPoints = Integer.parseInt(data[i][2]);
HelmDef = Integer.parseInt(data[i][4]);
HelmMoveSpeed = Integer.parseInt(data[i][5]); //StackTrace error
break;
}
}
}
错误:
线程AWT-EventQueue-0 java.lang.NumberFormatException:输入字符串异常:FALSE
位于java.lang.NumberFormatException.forInputStringNumberFormatException.java:65
java:580
java:615
在leapp.BehemothSelectGUI.cmbMothHeadActionPerformedBehemothSelectGUI.java:182
在leapp.BehemothSelectGUI.access$100BehemothSelectGUI.java:12
在leapp.BehemothSelectGUI$2.actionPerformedBehemothSelectGUI.java:78
位于javax.swing.JComboBox.fireActionEventJComboBox.java:1258
java:1332
位于javax.swing.AbstractListModel.fireContentsChangedAbstractListModel.java:118
在javax.swing.DefaultComboxModel.setSelectEdItemDefaultComboxModel.java:93
位于javax.swing.DefaultComboxModel.AddelementDefaultComboxModel.java:131
在javax.swing.JComboBox.addItemJComboBox.java:716
在leapp.Populate.cmbPopPopulate.java:66
在leapp.BehemothSelectGUI.BehemothSelectGUI.java:41
在leapp.HeroSelectGUI.btnChooseMothActionPerformedHeroSelectGUI.java:170
在leapp.HeroSelectGUI.access$000HeroSelectGUI.java:14
在leapp.HeroSelectGUI$1.actionPerformedHeroSelectGUI.java:78
位于javax.swing.AbstractButton.fireActionPerformedAbstractButton.java:2022
位于javax.swing.AbstractButton$Handler.actionPerformedAbstractButton.java:2348
位于javax.swing.DefaultButtonModel.fireActionPerformedDefaultButtonModel.java:402
在javax.swing.DefaultButtonModel.setPressedDefaultButtonModel.java:259
java:252
位于java.awt.Component.processMouseEventComponent.java:6533
javax.swing.JComponent.processMouseEventJComponent.java:3324
位于java.awt.Component.processEventComponent.java:6298
位于java.awt.Container.processEventContainer.java:2236
位于java.awt.Component.dispatchEventImplComponent.java:4889
位于java.awt.Container.dispatchEventImplContainer.java:2294
位于java.awt.Component.dispatchEventComponent.java:4711
位于java.awt.LightweightDispatcher.retargetMouseEventContainer.java:4888
位于java.awt.LightweightDispatcher.processMouseEventContainer.java:4525
位于java.awt.LightweightDispatcher.dispatchEventContainer.java:4466
位于java.awt.Container.dispatchEventImplContainer.java:2280
在java.awt.Window.dispatchEventImplWindow.java:2746
位于java.awt.Component.dispatchEventComponent.java:4711
在java.awt.EventQueue.dispatchEventImplEventQueue.java:758
在java.awt.EventQueue.access$500EventQueue.java:97
在java.awt.EventQueue$3.runEventQueue.java:709
在java.awt.EventQueue$3.runEventQueue.java:703
位于java.security.AccessController.doPrivilegeEdNative方法
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilegeProtectionDomain.java:76
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilegeProtectionDomain.java:86
在java.awt.EventQueue$4.runEventQueue.java:731
在java.awt.EventQueue$4.runEventQueue.java:729
位于java.security.AccessController.doPrivilegeEdNative方法
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilegeProtectionDomain.java:76
在java.awt.EventQueue.dispatchEventQueue.java:728
位于java.awt.EventDispatchThread.pumpOneEventForFiltersEventDispatchThread.java:201
在java.awt.EventDispatchThread.pumpEventsForFilterEventDispatchThread.java:116
在java.awt.EventDispatchThread.pumpEventsForHierarchyEventDispatchThread.java:105
在java.awt.EventDispatchThread.pumpEventsEventDispatchThread.java:101
在java.awt.EventDispatchThread.pumpEventsEventDispatchThread.java:93
位于java.awt.EventDispatchThread.runEventDispatchThread.java:82
构建成功总时间:5秒
我一直在对其他变量使用Integer.parseIntdata[I][number]转换器,但只有这一个会抛出错误
更新:
当我列出sysoutLine时,它返回“FALSE”。我仍然不知道它是如何返回false的,因为在我的数据库中col 5是数字
系统输出打印数据[i][5]
java文档非常清楚地说明了这一点
抛出:NumberFormatException-如果字符串不包含
可分解整数
FALSE不是可解析的整数
在此处,所有文件都将形成堆栈跟踪:
线程AWT-EventQueue-0中出现异常
java.lang.NumberFormatException:对于输入字符串:在
java.lang.NumberFormatException.forInputStringNumberFormatException.java:65
您不理解异常消息的哪一部分?您给parse的值为FALSE。这不是一个数字。所以你不能把它解析成一个int。我们不能告诉你为什么要尝试p
将一个包含布尔值的字符串设为数字。请检查数据[i][5]是否指向提取数据中的右列检查重复问题的答案:和无关:首先了解java基础知识。例如:为什么不使类的所有字段都是静态的。一个不知道为什么这是个坏主意的人很可能还没有准备好创建swing UI或与数据库交互。俗话说:在尝试跑步之前先学会爬行。是的,我明白了,但我并不是在尝试分析错误。我从设置为long的数据库列获取数据integers@StuartCampbell在这种情况下,您可能必须共享整个数据[]值才能进行验证。日志至少从某个地方将输入字符串读取为FALSE。