java - JFrame 未抛出 IndexOutOfBoundsException

标签 java exception nullpointerexception

我有代码在arraylist.get(index)中增加索引,当我到达列表末尾时,它被用作下一个按钮,它应该抛出IndexOutOFBoundsException并在文本框中显示一条消息。问题是,如果我继续递增,则永远不会捕获异常,并且它会不断重新启动arraylist,就像它走到末尾然后从头开始一样。

搜索索引在按钮处理程序之外初始化为 0

  try{
    setResidentialFields(results,searchindex);

      }
      catch(ArrayIndexOutOfBoundsException e){
          jTextField17.setText("NO MORE PROPERTIES");
      }
       searchindex++; //increment for next element in current search

这是来自 setResidentialFields 方法的一行

  jTextField17.setText(String.valueOf(r.get(index).getTax())); //tax
<小时/>

要回复第一个答案,这就是我更改代码的方式

searchindex++;


    try{


  jButton1.doClick();
  }
  catch(IndexOutOfBoundsException e){
      jTextField7.setText("No more properties to display");
  }

还是不行

最佳答案

我认为您的 indexToSearch 没有在正确的位置递增,或者从未打破循环(无论是否找到该属性)。以下是如何执行此操作的示例:

public class Answer {

    public static void main(String[] args) {

        int[] arr = {1, 2, 3, 4, 5};
        int indexToSearch = 0;
        int propertyToFind = 7;

        while (true) {
            try {

                if (arr[indexToSearch] == propertyToFind) {
                    System.out.println("found at index " + indexToSearch);
                    break;
                }

            } catch (ArrayIndexOutOfBoundsException e) {
                System.out.println("property " + propertyToFind + " not found");
                break;
            }

            indexToSearch++;
        }
    }
}

关于java - JFrame 未抛出 IndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898267/

相关文章:

java - Java 默认声明 "throws Exception"吗?

ASP.NET 自定义错误页面 - Server.GetLastError() 为 null

spring - 错误页面-如何在JSP中打印堆栈跟踪

exception - JUnit 中的多个预期异常

java - 如何比较两个可能为空的对象?

java - JTable AutoCreateRowSorter 将数字排序为字符串

java - 在Java中,如果返回类型分别是基元及其包装类,是否可以重写方法?

java - 字符串数组传递给另一个 Activity - android studio

java - 在没有 Eclipse 的情况下创建和使用 Java 包

android - android应用程序中的按钮导致空指针错误