エラーを修正: Else Without if in Java

Mehvish Ashiq 2024年2月15日
  1. Java の error: 'if' なしの 'else'
  2. Java での error: 'else' without 'if' の理由
  3. Java の error: 'else' without 'if' を修正する
エラーを修正: Else Without if in Java

今日は、Java でコードを書いているときに、ifなしでelseと言うエラーについて学びます。 また、このエラーの原因と考えられる原因を突き止め、その解決策を見つけます。

Java の error: 'if' なしの 'else'

通常、この種のエラーは、Java プログラミングの初心者が直面します。 このエラーの原因と解決策に進む前に、このエラーを生成するプログラムを作成して理解しましょう。

したがって、私たちは Python のエキスパートで Java の初心者であると仮定します。 そこで、次のように if-else を含む Java プログラムを作成します。

コード例:

// import libraries
import java.util.Scanner;

// decide future activity based on the current temperature
public class Test {
  public static void main(String[] args) {
    int temp;
    Scanner scan = new Scanner(System.in);
    System.out.println("What's the current temperature?");
    temp = scan.nextInt();

    if (temp > 95 || temp < 20)
      ;
    System.out.println("Visit our shops");
    else if (temp <= 95) if (temp >= 80) System.out.println("Swimming");
    else if (temp >= 60) if (temp <= 80) System.out.println("Tennis");
    else if (temp >= 40) if (temp < 60) System.out.println("Golf");
    else if (temp < 40) if (temp >= 20) System.out.println("Sking");
  } // end main()
} // end Test Class

エラー:

Java でエラーが発生した場合に Else を修正 - エラー

このプログラムでは、ユーザーから現在の温度を取得し、現在の温度に基づいて今後のアクティビティを決定します。 上の画像は、コンパイル時に NetBeans IDE が通知する論理エラーを取得していることを示しています。

そのため、エラーを解決するまでコードを実行することさえできません。 そのためには、以下の考えられる理由を知る必要があります。

Java での error: 'else' without 'if' の理由

エラー自体は説明的なもので、Java コンパイラが else ステートメントに関連付けられた if ステートメントを見つけられないことを示しています。 if ステートメントに関連付けられていない限り、else ステートメントは実行されないことに注意してください。

そのため、考えられる理由を以下に示します。

  1. 最初の理由は、else ブロックの前に if ブロックを書き忘れたことです。
  2. if 条件の閉じ括弧がありません。
  3. セミコロンを使用して if ステートメントを終了します。

このエラーを解決するにはどうすればよいですか? 次のセクションを見てみましょう。

Java の error: 'else' without 'if' を修正する

コード例:

// import libraries
import java.util.Scanner;

public class Test {
  public static void main(String[] args) {
    int temp;
    Scanner scan = new Scanner(System.in);
    System.out.println("What's the current temperature?");
    temp = scan.nextInt();

    if (temp > 95 || temp < 20) {
      System.out.println("Visit our shops");
    } // end if
    else if (temp <= 95) {
      if (temp >= 80) {
        System.out.println("Swimming");
      } // end if
      else if (temp >= 60) {
        if (temp <= 80) {
          System.out.println("Tennis");
        } // end if
        else if (temp >= 40) {
          if (temp < 60) {
            System.out.println("Golf");
          } // end if
          else if (temp < 40) {
            if (temp >= 20) {
              System.out.println("Sking");
            } // end if
          } // end else-if
        } // end else-if
      } // end else-if
    } // end else-if
  } // end main()
} // end Test Class

出力:

What's the current temperature?
96
Visit our shops

if ステートメントの末尾からセミコロン (;) を削除し、各ブロックに {} を配置して、if なしの ’else’ というエラーを修正しました。

中括弧 {} を使用することをお勧めします。十分に熟達し、それらを省略できる場所がわかるまで (ブロック内に単一のステートメントがある場合は省略できます)。

著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - Java Error