❶ コンパイラ時のエラー
正常にコンパイルできているのに、class名とjavaファイルの名前が違い、インタープリターが実行できなかった。
🔵対策
class名はコピーペーストをする。
❷ ifメゾットでのエラー
if(条件) 構文 または if(条件){構文}
を
if(条件);構文
の形にしてしまった。
この場合コンパイルは通るが、trueでもfalseでも同じ構文が返される。
🟡理由と原因
if(条件) 後、「同じ行」に返される構文を記載していない。「 ; 」文を終わらせているので、ifとは無関係になってしまっている。返される文が長く複数行同じ行に記載しきれない場合は、{ } で記述する。
if()・・・else() メゾットも同じ。
例
Buffered Reader クラスを使用
String str1 = br.reardLine();
int num1 = Integer.parseInt(str1);
返される構文が1行で記載できる場合
if( num1 == 5 ) System.out.println(" 5が入力されました。");
複数行の場合
if( num1 == 5) {
System.out.println("5が入力されました");
System.out.println("プログラム終了");
}
と記述する。
❸ classオブジェクトをmain()メゾットの中で使用した時のインタープリターのエラー
classオブジェクトをmainメゾットで使用し、コンパイル後、インタープリター※Microsoft powershellで、
で実行しようとした際、オブジェクトとして使用したclassファイルが見つからないString[ ]が参照できませんというエラーが発生した。
🟡理由
インタープリターの実行では、拡張子「.java」をつけない。main()メゾット内でclassオブジェクトを使用していない場合は、インタープリターは実行でエラーは起きない。
🔵対策
改めて、常にインタプリタ実行の際は「.java」の拡張子はつけない。