import java.util.Scanner;
public class AgeGenderMessage {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("年齢を入力してください: ");
int age = scanner.nextInt();
System.out.print("性別を入力してください (男性または女性): ");
String gender = scanner.next();
// 年齢に応じたメッセージを表示
if (age < 20) {
System.out.println("未成年です");
} else {
if (gender.equalsIgnoreCase("女性")) {
System.out.println("成人女性です");
} else if (gender.equalsIgnoreCase("男性")) {
System.out.println("成人男性です");
} else {
System.out.println("不明な情報です");
}
}
scanner.close();
}
}
このプログラムでは、if文のネストが使用され、年齢の評価後に性別の評価が行われています。これにより、ユーザーの年齢と性別に応じて適切なメッセージが表示されます。年齢が20歳未満の場合は「未成年です」、年齢が20歳以上で性別が「女性」の場合は「成人女性です」、年齢が20歳以上で性別が「男性」の場合は「成人男性です」と表示されます。それ以外の場合は「不明な情報です」が表示されます。
if文のネスト
「if文のネスト」とは、条件文(if文)内に別の条件文を組み込むことを指します。これにより、複雑な条件を効果的に処理できます。ネストされたif文は、外側の条件が真の場合に内側の条件を評価する方法を提供します。
以下は、if文のネストの基本的な構造と解説です。
if (外側の条件) {
// 外側の条件が真の場合の処理
if (内側の条件) {
// 内側の条件が真の場合の処理
}
}
外側の条件が真の場合、内側の条件が評価されます。外側の条件が偽の場合、内側の条件は評価されません。
例を通じて、if文のネストを理解しましょう。
int age = 24;
boolean isFemale = true;
if (age >= 20) {
// 外側の条件:年齢が20歳以上の場合
System.out.println("成人です");
if (isFemale) {
// 内側の条件:性別が女性の場合
System.out.println("成人女性です");
} else {
// 内側の条件:性別が男性の場合
System.out.println("成人男性です");
}
} else {
// 外側の条件:年齢が20歳未満の場合
System.out.println("未成年です");
}
この例では、外側の条件は age >= 20(年齢が20歳以上)で、内側の条件は isFemale(性別が女性かどうか)です。外側の条件が真の場合、内側の条件が評価され、適切なメッセージが表示されます。
if文のネストは、複雑な条件を扱うために役立ちますが、過度のネストはコードを難解にする可能性があるため、適切に使用することが重要です。条件が複雑になりすぎる場合、他の方法や関数の使用を検討することもあります。