程序一部分为以下4个if语句的嵌套:if(wg.al.get(index).equals("<")) {
index ++;
if( wg.al.get(index).equals("=")) {
index ++;
if(wg.al.get(index).equals("-")) {
index ++;
if(wg.al.get(index).equals("1")) {
index ++;al为ArrayList 定义如下:
ArrayList<String> al = new ArrayList<String>();
这4个语句因为要连着判断: 当我输入 只有 "<=-"的时候; 第四句的 if语句中的 wg.al.get(index) 获得不了该值,出现了下标越界的情况:
请问有什么比较好的办法来解决这样的问题吗??

解决方案 »

  1.   

    为什么会出现这么多个if判断?肯定有更好的写法,但是不知道你的目的是什么,所以不好说。如果真要这么写,那必须要在if判断里加上是否超出下标的判断了。
      

  2.   

    我把字符输入的字符串放到了al中,然后拿出来判断第一个是不是 "<" 下一个是不是"="  下一个是不是"-" 下一个是不是"1" 如果满足以上4个条件 则输出"1,-" 的结果; 
      

  3.   

    if(wg.al==null || wg.al.size()<4){
       System.out.print("数组链表元素个数应不小于4");
       return;
    }
    if(wg.al.get(0).equals("<") && wg.al.get(1).equals("=") && wg.al.get(2).equals("-") && wg.al.get(3).equals("1")) {
       System.out.println("1,-");