Alexandra Davis

15 posts
5章5

5章5

このJavaコードのスニペットには、ItemクラスとMainクラスの2つのクラスが含まれています。ItemクラスにはnameというString型の変数とpriceというint型の変数があり、priceは100に初期化されています。 Mainクラスにはmainメソッドがあり、ここでプログラムが実行されます。mainメソッドはItemオブジェクトの配列itemsを作成し、その長さを3に設定します。その後、整数型の変数totalを0で初期化し、forループを使用して各Itemオブジェクトのpriceをtotalに加算します。 しかし、このコードにはItemオブジェクトを実際にitems配列に割り当てるコードがありません。つまり、items配列にはデフォルトでnullが設定されているため、Itemのインスタンスが存在せず、items[i].priceを参照しようとするとNullPointerExceptionが発生します。 そのため、選択肢E「実行時に例外がスローされる」という答えが正しいです。Itemオブジェクトがitems配列に割り当てられていないため、forループの実行時にnullのpriceにアクセスしようとして例外がスローされます。 コードにコメントを加えて説明すると以下のようになります: public class Item { String name; // 商品名を保存する変数 int price = 100; //…
Read More