gpt4 book ai didi

java - 只有第一个 ArrayList 有效

转载 作者:行者123 更新时间:2023-11-29 23:31:20 25 4
gpt4 key购买 nike

所以我创建了这两种相同的方法,它们返回椅子的 ID 和预订日期:

public ArrayList<String> GetChair(String Class) throws SQLException{
ArrayList<String> arr = new ArrayList<String>(20);
openconnection();
String querychair = "SELECT * FROM hema.flight_usa WHERE free = 1 and class='"+Class+"'";
Statement stm=(Statement) con.createStatement();

ResultSet rs;
rs = stm.executeQuery(querychair);

while(rs.next())
{
arr.add(rs.getString("chair_id"));



}
return arr;
}

//---------------- The Second One ----------------------------------------

public ArrayList<String> GetDate(String Class) throws SQLException{

ArrayList<String> arr2 = new ArrayList<String>(20);

openconnection();
String querydate = "SELECT * FROM hema.flight_usa WHERE free = 1 and class='"+Class+"'";
Statement stm=(Statement) con.createStatement();

ResultSet rst;
rst = stm.executeQuery(querydate);

while(rst.next())
{
arr2.add(rst.getString("res_date"));



}
return arr2;

}

然后我调用这两个方法从表中获取数据问题是我只得到第一个调用的方法:

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

try {
String Class=Class1Text.getText();
Model model =new Model();


ArrayList<String> arr1=new ArrayList<String>(20);

arr1=model.GetDate(Class);


jTextField12.setText(arr1.get(0));
jTextField13.setText(arr1.get(1));
jTextField14.setText(arr1.get(2));
jTextField15.setText(arr1.get(3));
jTextField16.setText(arr1.get(4));
jTextField17.setText(arr1.get(5));
jTextField18.setText(arr1.get(6));
jTextField19.setText(arr1.get(7));
jTextField20.setText(arr1.get(8));
jTextField21.setText(arr1.get(9));


ArrayList<String> arr=new ArrayList<String>(20);
arr = model.GetChair(Class);

jTextField2.setText(arr.get(0));
jTextField3.setText(arr.get(1));
jTextField4.setText(arr.get(2));
jTextField5.setText(arr.get(3));
jTextField6.setText(arr.get(4));
jTextField7.setText(arr.get(5));
jTextField8.setText(arr.get(6));
jTextField9.setText(arr.get(7));
jTextField10.setText(arr.get(8));
jTextField11.setText(arr.get(9));



} catch (SQLException ex) {
Logger.getLogger(Reservation.class.getName()).log(Level.SEVERE, null, ex);
}



}

这样就可以完成 GetDate 方法

它一直给我这个错误:

线程“AWT-EventQueue-0”中的异常 java.lang.IndexOutOfBoundsException:索引:3,大小:3
在 java.util.ArrayList.rangeCheck(ArrayList.java:638)
在 java.util.ArrayList.get(ArrayList.java:414)
在 View.Reservation.jButton1ActionPerformed(Reservation.java:293)
在 View.Reservation.access$000(Reservation.java:16)
在 View.Reservation$1.actionPerformed(Reservation.java:84)
在 javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
在 javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
在 javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
在 javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
在javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
在 java.awt.Component.processMouseEvent(Component.java:6527)
在 javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
在 java.awt.Component.processEvent(Component.java:6292)
在 java.awt.Container.processEvent(Container.java:2234)
在 java.awt.Component.dispatchEventImpl(Component.java:4883)
在 java.awt.Container.dispatchEventImpl(Container.java:2292)
在 java.awt.Component.dispatchEvent(Component.java:4705)
在java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
在java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
在java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
在 java.awt.Container.dispatchEventImpl(Container.java:2278)
在 java.awt.Window.dispatchEventImpl(Window.java:2739)
在 java.awt.Component.dispatchEvent(Component.java:4705)
在 java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
在java.awt.EventQueue.access$400(EventQueue.java:97)
在 java.awt.EventQueue$3.run(EventQueue.java:697)
在 java.awt.EventQueue$3.run(EventQueue.java:691)
在 java.security.AccessController.doPrivileged( native 方法)
在 java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
在 java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
在 java.awt.EventQueue$4.run(EventQueue.java:719)
在 java.awt.EventQueue$4.run(EventQueue.java:717)
在 java.security.AccessController.doPrivileged( native 方法)
在 java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
在 java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
在java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

最佳答案

抛出 IndexOutOfBoundsException 表示索引超出范围。在第二个结果集中,您已调用以获取 10 个结果,但结果中可能只有 3 行。

关于java - 只有第一个 ArrayList<String> 有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26562619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com