内部コンパイルエラーというのは、あなた自身のコードにバグがあるかどうかにも関係するかも知れませんが、それ以前にツール、すなわちEclipseやEclipseが用いているJavaのコンパイラーの中身になんらかのバグないしは正常に動作できないようなソフトウェアの不整合(インストールが不十分だったり)といった原因により起こった気がします。
java.lang.NullPointerException at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:655)
と出てますがこのエラーは
java.lang.AbstractStringBuilderクラスの
public AbstractStringBuilder append(char[] str)
というメソッドの655行目でNPEが発生したことを表してます。ソースコードを見ると、発生条件は引数にnullを渡したときであることがわかります。
java
1// JDKのソースより
2654: public AbstractStringBuilder append(char[] str) {
3655: int len = str.length;
4 ^ここでエラーが起きたと考えられる
あなたはjava.lang.AbstractStringBuilderなんてクラスに見覚えはないと思います。このクラスはjava.langパッケージ内にあるパッケージプライベートなクラスでして、あなたがこのクラスをソースコード上に記述できたはずはありません。
コンパイルしただけでこのクラスの実行時例外が発生するということはあなたのプログラムが動いて実行時例外が起きたのではなくコンパイラーの動作にバグがあるとみるべきでしょう。
なぜこういうことが起きるかの原因は様々です。
例えば現時点のEclipseの最新バージョン2019-03はJava12の環境に(デフォルト状態では)まだ対応してません。2019-03でJava12を使うなら特別なプラグインをインストールしておかないとまともにEclipseが動きません。
こうした問題はちょっとやっかいですね。もしJava12をインストールしているなら、対処としてJava12の使用をやめてJava11やJava8をインストールしてみてはいかがでしょうか?
無暗に最新のバージョンのJDKをインストールするよりは(Eclipseの動作が)充分長い間テストされ動作が安定していると期待できるJava8やJava11などちょっと前のバージョンをインストールした方が無難かも知れません。
少なくとも最新のEclipse 2019-03ではJava11までには対応しているようですのでせめてJava11、できればJava8をインストールして使う方が安心して学習に集中できると思います。
(ちなみに自分はIntelliJ IDEAを使ってますがJava12でもこうした内部エラーが発生するようなケースに遭遇してません。単に運がいいだけなのかも知れませんが...)