【问题标题】:Why am I getting an error when I try to get a string from my table in a Jframe?当我尝试从 Jframe 中的表中获取字符串时,为什么会出现错误?
【发布时间】:2015-02-21 19:01:02
【问题描述】:

我对编程还很陌生;我的程序是一个电视节目调度程序,我试图从我创建的时间表(时间表)中获取一个变量。错误发生在第 6 行。

if (dayOfTheWeek=="Saturday"){
    int saturdayCOUNT=0;
    String[] SATURDAYSHOW = new String[9];
    SATURDAYSHOW=null;

    while (saturdayCOUNT<10){
         SATURDAYSHOW[saturdayCOUNT] = (String) timetable.getValueAt(saturdayCOUNT, 5);
         saturdayCOUNT = saturdayCOUNT+1;
    }

    test1.setText(SATURDAYSHOW[0]);
    test2.setText(SATURDAYSHOW[1]);
    test3.setText(SATURDAYSHOW[2]);
    test4.setText(SATURDAYSHOW[3]);
    test5.setText(SATURDAYSHOW[4]);
    test6.setText(SATURDAYSHOW[5]);
    test7.setText(SATURDAYSHOW[6]);
    test8.setText(SATURDAYSHOW[7]);
    test9.setText(SATURDAYSHOW[8]);
    test10.setText(SATURDAYSHOW[9]);
    showPopup();
}

错误是

线程“AWT-EventQueue-0”中的异常 java.lang.ArrayIndexOutOfBoundsException: 9
在 my.UI.SchedulerUI.jButton1ActionPerformed(SchedulerUI.java:1412)

【问题讨论】:

  • 不知道是否是您遇到的错误,但是将数组设置为 null 然后尝试将内容分配给它永远不会起作用。
  • 您可能还希望了解如何比较 String 值。为此使用== 很少是一个好计划。
  • 另外,请勿使用“==”进行比较。您应该使用equals(...) 方法。变量名不应大写。
  • 我删除了将数组设置为 null 的行,并将 == 更改为 .equals ,这些都没有导致错误。
  • 您收到的错误是什么?

标签: java swing netbeans jframe indexoutofboundsexception


【解决方案1】:

String[] SATURDAYSHOW = new String[9]; 更改为String[] SATURDAYSHOW = new String[10];

您的数组索引超出了范围,这意味着您尝试添加的值超出了数组实际可以容纳的数量。

【讨论】:

  • 哈哈,对于我认为很复杂的事情,这样一个简单的答案。谢谢!
猜你喜欢
  • 2021-02-28
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 2011-10-20
  • 1970-01-01
相关资源
最近更新 更多