任务描述:
一些数字可能拥有以下的性质:
性质1:是偶数;
性质2:大于4且不大于12;
小A喜欢两种性质都成立的数字,小B喜欢至少符合一种性质的数字,小C喜欢不符合这两种性质的 数字。给出一个数字,请输出三个人是否喜欢这个数字。如果喜欢输出1,否则输出0,用空格分隔。
解决思路:
输入数字 num,先定义三个整型代表三个人的喜欢与否,先默认设为 0
int likesA = 0, likesB = 0, likesC = 0;
之后判断num对于性质1、2的条件,分别用 boolen 类型标识
boolean isEven = num % 2 == 0; boolean isBetween4And12 = num > 4 && num <= 12;
对于每个整型进行判断,是否改为 1 代表喜欢
代码示例:
package a4_2024_07;
import java.util.Scanner;
/**
* 一些数字可能拥有以下的性质:
* 性质1:是偶数;
* 性质2:大于4且不大于12;
* 小A喜欢两种性质都成立的数字,小B喜欢至少符合一种性质的数字,小C喜欢不符合这两种性质的
* 数字。给出一个数字,请输出三个人是否喜欢这个数字。如果喜欢输出1,否则输出0,用空格分隔。
*/
public class j240725_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
int likesA = 0, likesB = 0, likesC = 0;
// 检查数字是否满足性质1和性质2
boolean isEven = num % 2 == 0;
boolean isBetween4And12 = num > 4 && num <= 12;
// 根据题意判断每个人是否喜欢这个数字
if (isEven && isBetween4And12) {
likesA = 1;
}
if (isEven || isBetween4And12) {
likesB = 1;
}
if (!isEven && !isBetween4And12) {
likesC = 1;
}
System.out.println(likesA + " " + likesB + " " + likesC);
}
}