エラーを見つけるのに時間のかかった所

コンパイラ時のエラー

 正常にコンパイルできているのに、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で、

java クラスファイル名.java

で実行しようとした際、オブジェクトとして使用したclassファイルが見つからないString[ ]が参照できませんというエラーが発生した。

🟡理由

 インタープリターの実行では、拡張子「.java」をつけない。main()メゾット内でclassオブジェクトを使用していない場合は、インタープリターは実行でエラーは起きない。

🔵対策

改めて、常にインタプリタ実行の際は「.java」の拡張子はつけない。