问题描述:
键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数, 并打印结果.
此处提供两种解法:
- 第一种解法:
import java.util.Scanner;
/**
* 需求:
* 键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数, 并打印结果.
* 分析:
* 1.键盘录入一个整数数据并接收
* 2.三元运算符
* 格式:
* num1>num2?num1:num2 输出最大值
* num1<num2?num1:num2 输出最小值
* 3.运用if判断num正数还是负数 若是正数 三元运算符 num %2 > 0 ? num %2 : 0
* 4.负数 三元运算符 (num % 2) < 0 ? (num % 2) : 0
* 5.打印输出
*/
public class HomeWork04 {
public static void main(String[] args) {
System.out.println("请输入一个整数:");
//键盘录入一个整数数据并接收
int num = new Scanner(System.in).nextInt();
if (num >= 0) {
// num>=0,对num取2的余数,然后对其余数运用三元运算符
int max = ((num % 2) > 0 ? (num % 2) : 0);
if (max > 0) {
System.out.println(num + "为奇数"); //若输出的值为1,则其余数为1,故为奇数
} else {
System.out.println(num + "为偶数"); //反之输出的值为0,其num余数为0,故为偶数
}
} else {
// num<0时,对num取2的余数,三元运算符此时需要取其最小值
int min = ((num % 2) < 0 ? (num % 2) : 0);
if (min < 0) {
System.out.println(num + "为奇数");//若输出的值为-1,则其余数为-1,故为奇数
} else {
System.out.println(num + "为偶数");//反之输出的值为0,其num余数为0,故为偶数
}
}
}
}
- 第二种解法:
推荐此种解法
import java.util.Scanner;
/**
* 键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数, 并打印结果.
* 分析:
* 1.键盘录入一个整数并接收
* 2.使用三元运算符通过运用字符串来判断奇偶数
* 3.打印结果
*/
public class HomeWork04 {
public static void main(String[] args) {
//键盘录入一个整数并接收
System.out.println("请输入一个整数:");
int num = new Scanner(System.in).nextInt();
String max = (num%2==0) ?"偶数":"奇数";
//三元运算符通过判断奇偶数之后作为字符串赋值给max直接输出
System.out.println(max);
}
}