for(int i=0;i<charset.size();i++)
{
for(int j=0;i<charset.size();j++)
{
for(int k=0;k<charset.size();k++)
{
String plaintext= charset.get(i)+charset.get(j)+charset.get(k);
String hashtext=CreateHash.returnString(plaintext);
BufferedWriter bw = new BufferedWriter(new FileWriter("/root/MD5List.txt", true)); //opens file
bw.write(plaintext+" = "+hashtext);
bw.newLine();
bw.close();
}
}
}
arraylist
サイズは10です。このプログラムを実行すると、スタックトレースが取得されます。
スレッド"main"の例外java.lang.IndexOutOfBoundsException:インデックス:10、サイズ:10 at java.util.ArrayList.rangeCheck(ArrayList.java:571)at java.util.ArrayList.get(ArrayList.java:349)at MD5HashTable.Hash.main(Hash.java:57)Java結果:1
変数kは明らかにのサイズよりも小さいのでarraylist
、なぜこのエラーが発生するのですか?