この質問が何百万回も聞かれていることを私は知っています。そして、数時間じっと見つめていない人には、解決策がかなり明白になると思います. しかし、範囲外の例外の頭や尾を作ることはできません。エラーは次のとおりです。
exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 207493, Size: 207493
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
at affysureselect.AffySureSelect.main(AffySureSelect.java:92)
Java Result: 1
おそらくこれはarraylistのサイズが原因で発生しているのではないかと考えていましたが、その場合は、取得ではなく追加時にエラーが発生すると予想していました。死にかけているコードは次のとおりです。
String chrompos;
ArrayList<String> chromnum = new ArrayList<String>();
while ((input2 = sbuff.readLine()) != null) {
prse = input2.split("\t");
chromnum.add(prse[0]);
...
chrompos = prse[7];
}
int cnt = 0;
int cnt2 = 0;
if (chromnum.get(cnt).equals(chrompos)) { // line causing my untimely death
end = Integer.parseInt(chromposend.get(cnt2));
start = Integer.parseInt(chromposstart.get(cnt2));
...
私も追加しようとしました:
if (cnt <= chromnum.size()) { //this line
if (chromnum.get(cnt).equals(chrompos)) { /before the dying line
しかし、とにかく、追加ではなく、取得時に死亡します。私は何が欠けていますか?