Array index out of range: 4 10
stuModel.java代码如下:publicStuModel(Stringsql){//中间//设置列名rowData=newVector();columnNames...
stuModel.java代码如下:public StuModel(String sql) { //中间 //设置列名 rowData=new Vector(); columnNames=new Vector(); columnNames.add("学号"); columnNames.add("名字"); columnNames.add("性别"); columnNames.add("年龄"); columnNames.add("籍贯"); columnNames.add("系别"); rowData=new Vector(); try{ //1、加载驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=spdb", "beck","ssa"); ps=conn.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()){ //rowData可以存放多行 Vector hang=new Vector(); hang.add(rs.getString(1)); hang.add(rs.getString(2)); hang.add(rs.getString(3)); hang.add(rs.getInt(4)); hang.add(rs.getString(5)); hang.add(rs.getString(6)); //加入到rowData rowData.add(hang); // System.out.println(rs.getString(2)); } }catch(Exception e){ e.printStackTrace(); }finally{ try { //关闭资源 if (rs != null) rs.close(); if (ps != null) ps.close(); if (conn!= null) conn.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } } //做一个构造函数,用于初始化我们的数据模型 public StuModel(){ //中间 //设置列名 rowData=new Vector(); columnNames=new Vector(); columnNames.add("学号"); columnNames.add("名字"); columnNames.add("性别"); columnNames.add("年龄"); columnNames.add("籍贯"); columnNames.add("系别"); rowData=new Vector(); try{ //1、加载驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=spdb", "sd","ssa"); ps=conn.prepareStatement("select * from stu "); rs=ps.executeQuery(); while(rs.next()){ //rowData可以存放多行 Vector hang=new Vector(); hang.add(rs.getString(1)); hang.add(rs.getString(2)); hang.add(rs.getString(3)); hang.add(rs.getInt(4)); hang.add(rs.getString(5)); hang.add(rs.getString(6)); //加入到rowData rowData.add(hang); // System.out.println(rs.getString(2)); } }catch(Exception e){ e.printStackTrace(); }finally{ try { //关闭资源 if (rs != null) rs.close(); if (ps != null) ps.close(); if (conn!= null) conn.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } } public int getRowCount() { // TODO Auto-generated method stub return this.columnNames.size(); } public int getColumnCount() { // TODO Auto-generated method stub return this.rowData.size() ; } public Object getValueAt(int row, int column) { // TODO Auto-generated method stub return ((Vector) this.rowData.get(row)).get(column); //就是这一行貌似有误,但我不知道究竟错在哪里 }抛出的错误为:Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 4
展开
展开全部
让大哥告诉你,其实是你写错啦
照着我碰凯这样子写就好了
public int getColumnCount() {
// TODO Auto-generated method stub
return this.columnNames.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return ((Vector)this.rowData.get(rowIndex)).get(columnIndex);
}
是你将行和列的取值弄反了,所以笑禅唤会出现Array index out of range现象袭悉.
如果幸运的话,行和列一样,数据库的东西可以显示出来.
但更多的情况下,是行列不一样的情况.所以,错误出现啦
我是找了很久才找出来的,给分吧.
照着我碰凯这样子写就好了
public int getColumnCount() {
// TODO Auto-generated method stub
return this.columnNames.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return ((Vector)this.rowData.get(rowIndex)).get(columnIndex);
}
是你将行和列的取值弄反了,所以笑禅唤会出现Array index out of range现象袭悉.
如果幸运的话,行和列一样,数据库的东西可以显示出来.
但更多的情况下,是行列不一样的情况.所以,错误出现啦
我是找了很久才找出来的,给分吧.
展开全部
这个异常意思是说,数组索引超越的边界。
就像只有4个项的数组中,你却要找芹尘他的第5项数据。
问题应该出在balls[mathf.floortoint(random.value*3)]中,mathf.floortoint(random.value*3)算出来的数字是大于balls这个数据的长度的慎首姿宽绝。
就像只有4个项的数组中,你却要找芹尘他的第5项数据。
问题应该出在balls[mathf.floortoint(random.value*3)]中,mathf.floortoint(random.value*3)算出来的数字是大于balls这个数据的长度的慎首姿宽绝。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Vector的下标是从0开始的,这个清楚不?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-26
展开全部
咱们整理一下代码,好不。
追问
是提交的时候系统出毛病才成这个样子的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询