お世話になっております。表記の件につきましてお尋ねです。
このコードをコンパイルすると通るのですが、実行するとこのような例外が表示されます。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at ArrayTest.main(ArrayTest.java:7)
①char[]chars1 = new char[3];では以下のb.o,o,kは入らないのはなぜでしょうか。
その後、char[] chars2 = {'l','i','b','r','a','r','y'};を代入してchars1 = chars2に置き換えているのでlibraryと表示したい。
②上記のインスタンス生成の際にchar[]chars1 = new char[4]とすると例外も起こらず、libraryが表示されるのはなぜでしょうか。[4]以上の文字がchars2には入っているのになーと思っております。
理解が間違っているので疑問に思っております。
アドバイスを頂けましたら幸いです。
よろしくお願いします。
コード public class ArrayTest { public static void main(String[] args){ char[] chars1 = new char[3]; chars1[0]= 'b'; chars1[1]= 'o'; chars1[2]= 'o'; chars1[3]= 'k'; char[] chars2 = {'l','i','b','r','a','r','y'}; chars1 = chars2; System.out.println(chars1); } }
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。