
ArrayListで可変長配列を扱っているのですが、
2次元可変長配列を用いる必要が出てきたので、
下記のように変更したのですがうまくいきません。
何が悪いのか教えていただけませんでしょうか?
-----------------------------------------
ArrayList cars=new ArrayList();
cars.add("フェラーリ");
cars.add("ポルシェ");
cars.add("メルセデスベンツ");
for(int i=0;i<cars.size();i++){
String str=(String)cars.get(i);
System.out.println(str);}
-----------------------------------------
上記から下記のように変更しました。
-----------------------------------------
ArrayList[] cars=new ArrayList[3];
cars[0].add("フェラーリ");
cars[0].add("ポルシェ");
cars[0].add("メルセデスベンツ");
for(int i=0;i<cars[0].size();i++){
String str=(String)cars[0].get(i);
System.out.println(str);}
-----------------------------------------
エラーは「Exception in thread "main" java.lang.NullPointerException」です。
どうやら初期配列が10ではなく3となってしまっているようです。
No.1ベストアンサー
- 回答日時:
こんにちは。
>ArrayList[] cars=new ArrayList[3];
はArrayList型のオブジェクトのインスタンス
を格納する箱を3個作成しただけなので、
この時点では、
cars[0] = null
cars[1] = null
cars[2] = null
となっています。ですから、当然
cars[0].add("フェラーリ");
などとやると、NullPointerExceptionが
発生します。これをさけるには、
cars[0] = new ArrayList();
cars[1] = new ArrayList();
cars[2] = new ArrayList();
とする必要があります。
返信が非常に遅れてしまい申し訳ありませんでした。
みなさんの回答、大変参考になりました。
さっそく書き直してみることにします。
argiさんの質問ですが、可変長配列×可変長配列を作ろうとしています。
No.3
- 回答日時:
ArrayListの配列は一個作れば充分でしょう。
下記を参考にしてください。
import java.util.*;
class Cars {
public static void main(String args[]){
ArrayList[] cars=new ArrayList[1];
cars[0]=new ArrayList();
cars[0].add("フェラーリ");
cars[0].add("ポルシェ");
cars[0].add("メルセデスベンツ");
for(int i=0;i<cars[0].size();i++){
String str=(String)cars[0].get(i);
System.out.println(str);
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 POINT! 行為者 (by〜) が省略される場合 : 行為者が一般的な人や不要な場合は省略されます 1 2022/06/07 21:10
- 英語 英語ー単数形?複数形? 12 2022/10/03 18:45
- 中古車 セレナ(NISSAN)ライダー Jパッケージ 燃費は公開されていませんがリッター何キロでしょうか 1 2023/02/14 09:39
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- 発達障害・ダウン症・自閉症 自閉スペクトラム症の検査でCARSというものがありますよね。点数出るんですけど何点以上から診断がおり 1 2022/06/29 01:19
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[Ljava.lang.Stringってなんですか
-
C#で動的配列Listの中身をListB...
-
JavaBeansの配列の値取得方法に...
-
Javaで文字と数字が混ざったも...
-
同じ配列またはクラスを、2回...
-
C++で、Excelの内容を取得する...
-
jspでの二次元配列
-
この警告はどうすれば?
-
n番目に大きな値を探索する
-
ファイルの読み込み、配列に格納
-
C#で配列の戻り値について
-
javaについて
-
java 乱数を並べて重複させない...
-
2次元リスト
-
java
-
Generics で型チェック
-
半角カナの判別方法
-
配列で、値の入っている要素数...
-
strutsでの配列の扱い方について。
-
教えて下さい。for文内での変数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaで文字と数字が混ざったも...
-
フローチャート
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
配列で、値の入っている要素数...
-
C#で動的配列Listの中身をListB...
-
配列の中に複数存在する数がい...
-
セッションを使ったint型の値の...
-
【C#】ハッシュテーブル(連想...
-
javaについて
-
javaでの文字列からの数字抽出
-
配列について
-
javaで大容量テキストファイル...
-
配列数を超えてアクセスしたと...
-
【Ajax通信&Java】配列の受け取...
-
『args[]』とは?
-
ArrayListからBean配列に値をセ...
-
C言語でunsigned char配列を連...
-
strutsで2次元配列をやりとりす...
-
javamailで複数人にメールを送...
おすすめ情報