Java ArrayIndexOutOfBoundsException,字符串,Int
我的eror in程序是Java ArrayIndexOutOfBoundsException,字符串,Int,java,string,integer,int,row,Java,String,Integer,Int,Row,我的eror in程序是 java.lang.ArrayIndexOutOfBoundsException at knapsacproject.Interface.jButton4ActionPerformed(Interface.java:221) 此代码用于按钮,它在jTextField4中打印结果,但不写入任何内容 我的java代码: DefaultTableModel model = (DefaultTableModel)jTable1.getModel(); int nRow =
java.lang.ArrayIndexOutOfBoundsException
at knapsacproject.Interface.jButton4ActionPerformed(Interface.java:221)
此代码用于按钮,它在jTextField4中打印结果,但不写入任何内容
我的java代码:
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
int nRow = model.getRowCount();
try{
algorithm algo = new algorithm(getTableData(model, 1),getTableData(model, 2),
Integer.parseInt(jTextField1.getText)),
Integer.parseInt(jTextField2.getText)),Integer.parseInt(jTextField3.getText()));
int[] result = algo.getResult();
for(int i = 0; i <nRow;i++) {
if(result[i]==1)
model.setValueAt("take", i , 3);
else
model.setValueAt("leave", i, 3);
}
jTable1.getColumnModel().getColumn(3).setCellRenderer(new StatusColumnCellRenderer());
jTextField4.setText(Integer.toString(result[nRow]));
有什么问题吗?尝试使用
result[nRow-1]
而不是像这样使用result[nRow]
:
jTextField4.setText(Integer.toString(result[nRow-1]));
因为数组的索引从
0
开始到nRow-1
而不是nRow
请尝试使用result[nRow-1]
而不是result[nRow]
,如下所示:
jTextField4.setText(Integer.toString(result[nRow-1]));
因为数组的索引从
0
开始到nRow-1
而不是nRowresult
数组大小是nRow
,但是您试图使用索引nRow
访问元素,而在java中,数组的起始索引是0
,所以您无法这样做。我猜您需要将问题行更改为:
jTextField4.setText(Integer.toString(result[nRow-1]));
result
数组大小是nRow
,但您正试图使用索引nRow
访问元素,并且您无法这样做,因为在java中数组的起始索引是0
。我猜您需要将问题行更改为:
jTextField4.setText(Integer.toString(result[nRow-1]));
谢谢,没事,谢谢,没事,谢谢,没事,没事,谢谢,没事