#内容
Javaでリストを使って値を格納しその中身を確認するためにリストの中身を表示させたいのですがエラーが出てしまします。調べても意味が良く理解できなかったので解決できる方お願いします。
#該当している部分のソース
java
1public class HelloWorld{ 2 ArrayList<Integer> a = new ArrayList<Integer>(); 3 ArrayList<Integer> b = new ArrayList<Integer>(); 4 ArrayList<Integer> c = new ArrayList<Integer>(); 5 int[] a1 = new int[3]; 6 int[] b1 = new int[3]; 7 int[] c1 = new int[3]; 8 public static void main(String args[]){ 9 10 try{ 11 File file = new File("C:\Users\○○\test.txt"); 12 13 if (checkBeforeReadfile(file)){ 14 BufferedReader br = new BufferedReader(new FileReader(file)); 15 String str; 16 while((str = br.readLine()) != null){ 17 List<Integer> ints = parse_line(str); 18 for (int i = 0; i < 3; i++) { 19 for(int j = 0; i < 3; j++){ 20 if(i == 0){ 21 a.add(ints.get(j)); 22 a1[i] = a.get(j); 23 } 24 else if(i == 1){ 25 b.add(ints.get(j)); 26 b1[i] = b.get(j); 27 } 28 else{ 29 c.add(ints.get(j)); 30 c1[i] = c.get(j); 31 } 32 } 33 } 34 for (int i = 0; i < 3; i++) { 35 System.out.println(a1[i]); 36 } 37 } 38 39 br.close(); 40 41 } 42 else{ 43 System.out.println("ファイルが見つからないか開けません"); 44 } 45 } 46 catch(FileNotFoundException e){ 47 System.out.println(e); 48 } 49 catch(Exception e){ 50 System.out.println(e); 51 } 52 } 53}
#エラーメッセージ
HelloWorld.java:28: エラー: staticでない変数 aをstaticコンテキストから参照することはできません
a.add(ints.get(j));
^
HelloWorld.java:29: エラー: staticでない変数 a1をstaticコンテキストから参照する ことはできません
a1[i] = a.get(j);
^
HelloWorld.java:29: エラー: staticでない変数 aをstaticコンテキストから参照することはできません
a1[i] = a.get(j);
^
HelloWorld.java:32: エラー: staticでない変数 bをstaticコンテキストから参照することはできません
b.add(ints.get(j));
^
HelloWorld.java:33: エラー: staticでない変数 b1をstaticコンテキストから参照する ことはできません
b1[i] = b.get(j);
^
HelloWorld.java:33: エラー: staticでない変数 bをstaticコンテキストから参照することはできません
b1[i] = b.get(j);
^
HelloWorld.java:36: エラー: staticでない変数 cをstaticコンテキストから参照することはできません
c.add(ints.get(j));
^
HelloWorld.java:37: エラー: staticでない変数 c1をstaticコンテキストから参照する ことはできません
c1[i] = c.get(j);
^
HelloWorld.java:37: エラー: staticでない変数 cをstaticコンテキストから参照することはできません
c1[i] = c.get(j);
^
HelloWorld.java:42: エラー: staticでない変数 a1をstaticコンテキストから参照する ことはできません
System.out.println(a1[i]);
^
エラー10個
#補足
ソースを全て載せると長くなるので該当している恐れのある部分を載せてあります。
自分なりに修正し、最初に比べてエラーが減った状態になってます。
#追記
修正し、次は新たなエラーが見つかってしまいました。
HelloWorld.java:24: エラー: 例外Exceptionは報告されません。スローするには、捕捉 または宣言する必要があります
List<Integer> ints = parse_line(str);
^
エラー1個
#追記の追記
例外のエラーはプログラムを修正して消えたのですが、次は実行した時にエラーが出ました。
java.lang.IndexOutOfBoundsException: Index 3 out-of-bounds for length 3
配列の範囲を超えてしまってるのが原因と言ってるエラーっぽいのですが、私にはわかりませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/29 16:06
2017/12/29 17:00