Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java arraylist超出范围索引:1,大小:1_Java_Arrays - Fatal编程技术网

Java arraylist超出范围索引:1,大小:1

Java arraylist超出范围索引:1,大小:1,java,arrays,Java,Arrays,改变 到 列表的有效索引必须小于其大小(或者更准确地说,从0到size()-1)。Java经常使用基于0的索引。如果大小为1,请尝试使用索引0。这里有很多代码。当你发布一个问题时,请尽量把它减少到刚好足够的代码来重现这个问题。现在,第一个结果Bs的读取器和文件的其余部分还没有存储在arraylist中 ArrayList<String> accon = new ArrayList<String>(); ArrayList<Double> balance = n

改变


列表
的有效索引必须小于其大小(或者更准确地说,从
0
size()-1
)。

Java经常使用基于0的索引。如果大小为1,请尝试使用索引0。这里有很多代码。当你发布一个问题时,请尽量把它减少到刚好足够的代码来重现这个问题。现在,第一个结果Bs的读取器和文件的其余部分还没有存储在arraylist中
ArrayList<String> accon = new ArrayList<String>();
ArrayList<Double> balance = new ArrayList<Double>();
try{
    BufferedReader Buffer = new BufferedReader(new FileReader(new File(
    "D://transactions.txt")));
    String line = null;
    while ((line = Buffer.readLine()) != null) {
        // String arr[] = line.split(" ");

        String Id = line.substring(0, 17);
        String Case = line.substring(18, 19);
        double a = Double.parseDouble(line.substring(20));
        //System.out.print(""+Id+" "+Case+" "+a);
        //System.out.println("  "+accon);

        if (accon.isEmpty()) {
            accon.add(Id);
            //balance.add(0.0);
            System.out.println("found A" + balance);
            System.out.println("found Id " + Id);
            if (Case.toUpperCase().trim().equals("D")) {
                balance.add(a = a*-1);
                System.out.println("Found Case " + Case);
                System.out.println("Found balance" + balance);
            } else if (Case.toUpperCase().trim().equals("C")) {
                System.out.println("Found Case C = " + Case);
                balance.add(a);
                System.out.println("Found balance C =" + balance);
            }
        } else {
            System.out.println("Hi");
            int ii = 0;
            System.out.println("not empty");
            do {
                System.out.println("welcome" + "II=" + ii);
                if (accon.get(ii).equals(Id.trim())) {
                    System.out.println(accon + " = " + Id);
                    if (Case.toUpperCase().trim().equals("D")) {
                        System.out.println("Found Case D = " + Case);
                        System.out.println("balance.get(ii) = " + balance.get(ii));
                        balance.set(ii, balance.get(ii) - a);
                        System.out.println("II=" + ii);
                        System.out.println("balance.get(ii) = " + balance.get(ii));

                        System.out.println("the II =" + ii + " the balance D =" + balance);
                    } else if (Case.toUpperCase().trim().equals("C")) {
                        balance.set(ii, balance.get(ii) + a);
                        System.out.println("the II =" + ii + " the balance C =" + balance);
                    }
                }

                ii++;
            } while (accon.size() >= ii);
            System.out.println("----------------------------------------------");
        }

    }
    for (int i = 0; i < accon.size(); i++) {
        System.out.println(accon.get(i));
        System.out.println(balance.get(i));
        // System.out.println(accon.size());

    }

}

catch(Exception e) {
    System.out.print("" + e);
}
 found A[]
    found Id 00001500205568600
    Found Case D
    Found balance[-1520.15]
    Hi
    not empty
    welcomeII=0
    [00001500205568600] = 00001500205568600
    Found Case D = D
    balance.get(ii) = -1520.15
    II=0
    balance.get(ii) = -14020.15
    the II =0 the balance D =[-14020.15]
    welcomeII=1
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
while (accon.size()>=ii)
while (accon.size()>ii)