質問: new ArrayList<>(); ``` Javac -version と入力したらこのようになります。 ``` javac -version javac: -version は無効なフラグです。 使い方: javac 使用可能なオプションには次のものがあります。 -g すべてのデバッグ情報を生成する -g:none デバッグ情報を生成しない -g:{lines,vars,source} いくつかのデバッグ情報だけを生成する -O 最適化。デバッグが抑制されるか、クラスファイルが大きくなる -nowarn 警告を発生させない -verbose コンパイラの動作についてメッセージを出力する -deprecation 推奨されない API が使用されているソースの位置を出力する -classpath ユーザクラスファイルを検索する位置を指定する -sourcepath 入力ソースファイルを検索する位置を指定する -bootclasspath ブートストラップクラスファイルの位置を置き換える -extdirs インストール済み拡張機能の位置を置き換える -d 生成されたクラスファイルを格納する位置を指定する -encoding ソースファイルが使用する文字エンコーディングを指定する -source 指定されたリリースとソースの互換性を保つ -target 特定の VM バージョン用のクラスファイルを生成する -help 標準オプションの概要を出力する ``` java --versionだとこうなりました。 ``` C:\practice>java --version Unrecognized option: --version Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. ```
回答: > > ScannerはJava1.5で登場したクラスですからそれより古いJDKを使ってしまっているのではと思います。 > > > **引用元**: Java - Scannerが使えない|teratail (yubaさんの回答) yubaさんの推察が正しいとすれば、質問者さんは1.5より前のJDKを使っていることになります。 ジェネリクスも1.5で導入された言語機能ですから、使えません。 20年近く、あるいはそれ以上古いコンパイラを使うのは苦行でしか無いです。 新しいものを導入しましょう。 あるいはオンラインの開発環境を使うのもアリです。