为了保障安静的阅读环境,有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆,除非有 18 岁以上(包括 18 岁)的成人陪同”。现在有两位小/大朋友跑来问你,他们能不能进去?请你写个程序自动给他们一个回复。
输入在一行中给出 4 个整数:
禁入年龄线 陪同年龄线 询问者1的年龄 询问者2的年龄
这里的禁入年龄线是指严格小于该年龄的儿童禁止入馆;陪同年龄线是指大于等于该年龄的人士可以陪同儿童入馆。默认两个询问者的编号依次分别为 1 和 2;年龄和年龄线都是 [1, 200] 区间内的整数,并且保证 陪同年龄线 严格大于 禁入年龄线。
在一行中输出对两位询问者的回答,如果可以进就输出 年龄-Y,否则输出 年龄-N,中间空 1 格,行首尾不得有多余空格。
在第二行根据两个询问者的情况输出一句话:
12 18 18 8
18-Y 8-Y
qing 1 zhao gu hao 2
12 18 10 15
10-N 15-Y
2: huan ying ru guan
问题分解:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int jin = scanner.nextInt();
int pei = scanner.nextInt();
int cha01 = scanner.nextInt();
int cha02 = scanner.nextInt();
boolean canEnter1 = cha01 >= jin;
boolean canEnter2 = cha02 >= jin;
boolean needAccompany1 = cha01 < jin && cha01 < pei;
boolean needAccompany2 = cha02 < jin && cha02 < pei;
boolean isAdult1 = cha01 >= pei;
boolean isAdult2 = cha02 >= pei;
// 输出进入情况
System.out.println(cha01 + "-" + (canEnter1 || isAdult2 ? "Y" : "N") + " " + cha02 + "-" + (canEnter2 || isAdult1 ? "Y" : "N"));
// 根据不同情况输出提示信息
if ((needAccompany1 && isAdult2) || (needAccompany2 && isAdult1)) {
System.out.println("qing " + (isAdult1 ? "1" : "2") + " zhao gu hao " + (needAccompany1 ? "1" : "2"));
} else if (canEnter1 && canEnter2) {
System.out.println("huan ying ru guan");
} else if (!canEnter1 && !canEnter2) {
System.out.println("zhang da zai lai ba");
} else {
System.out.println((canEnter1 ? "1" : "2") + ": huan ying ru guan");
}
}
}