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 展开
 我来答
墨迹修
推荐于2018-02-27
知道答主
回答量:32
采纳率:0%
帮助的人:6.5万
展开全部
让大哥告诉你,其实是你写错啦
照着我碰凯这样子写就好了

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现象袭悉.
如果幸运的话,行和列一样,数据库的东西可以显示出来.
但更多的情况下,是行列不一样的情况.所以,错误出现啦
我是找了很久才找出来的,给分吧.
绳纶冀高扬
2019-02-20 · TA获得超过4161个赞
知道小有建树答主
回答量:3150
采纳率:32%
帮助的人:227万
展开全部
这个异常意思是说,数组索引超越的边界。
就像只有4个项的数组中,你却要找芹尘他的第5项数据。
问题应该出在balls[mathf.floortoint(random.value*3)]中,mathf.floortoint(random.value*3)算出来的数字是大于balls这个数据的长度的慎首姿宽绝。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狂中E
2013-09-26 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1025万
展开全部
Vector的下标是从0开始的,这个清楚不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-26
展开全部
咱们整理一下代码,好不。
追问
是提交的时候系统出毛病才成这个样子的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式