入力された月と日に基づいてシーズンを表示するプログラムをコーディングしようとしましたが、途中で問題が発生しました。 if文で変数の月を初期化した後、入力された値が有効な月かどうかをチェックするために、コードの後に変数を使用して、シーズンを見つけることができません。どんな助けでも大歓迎です。Ifステートメントで変数を宣言する(Java)
import java.util.Scanner;
public class Date
{
public static void main(String [] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Please enter the number of the month: ");
if (in.hasNextInt() && in.nextInt() > 0 && in.nextInt() <= 12)
{
int month = in.nextInt();
}
else
{
System.out.println("Error: Invlaid month value");
}
System.out.println("Please enter the day: ");
int day = in.nextInt();
String season;
if (0 < month && month <= 3)
{
season = "Winter";
}
else if (3 < month && month <= 6)
{
season = "Spring";
}
else if (6 < month && month <= 9)
{
season = "Summer";
}
else if (9 < month && month <= 12)
{
season = "Fall";
}
}
}
スコープと同じスコープで宣言されている場合にのみアクセスできますそれにアクセスしようとしています。より具体的には、宣言された変数のスコープは、現在使用しているスコープのサブセットでなければなりません。 – Zachary
デフォルト値* outside *と* before * 'if'ステートメントを定義して初期化し、 ifステートメントでは、プログラムの残りの部分でアクセス可能になります。 – davedwards