java - 将整数除以 12 并显示余数是奇数还是偶数
问题描述
尝试创建一个程序,要求用户输入 20 到 100 之间的数字。输入数字后。程序会将输入的数字除以 12。然后程序会判断除法的结果是偶数还是奇数。(例如:35 除以 12 的余数是 11,它是奇数。)
我已经启动了程序,但无法弄清楚除法部分。
import java.util.Scanner;
public class Chpt3_Project {
public static void main (String [] args) {
// Create a Scanner object
Scanner sc = new Scanner(System.in);
// Prompt the user to enter an integer value between 20 and 100.
int input;
do {
System.out.print("Enter a number between 20 and 100: ");
input = sc.nextInt();
if (input < 20 || input >= 101) {
System.out.println("Invalid number input!");
}
} while (input < 20 || input >= 101);
//Divide result by 12 and show if even or odd
}
}
解决方案
您可以使用模运算符来检查数字是偶数还是奇数。假设你有
int n = 7;
应用模运算符
int r = n % 2;
将产生1
- 发生的事情是这样的:
除以
n
并2
返回余数。
所以,我们知道,如果一个% 2
运算的余数是0
,这个数是偶数,否则,如果余数是1
,这个数是奇数。
在您的情况下,代码可能如下所示:
public static void main (String [] args) {
// Create a Scanner object
Scanner sc = new Scanner(System.in);
// Prompt the user to enter an integer value between 20 and 100.
int input = 0;
do {
System.out.print("Enter a number between 20 and 100: ");
input = sc.nextInt();
if (input < 20 || input >= 101) {
System.out.println("Invalid number input!");
}
} while (input < 20 || input >= 101);
// Divide the input by 12 and check if the remainder is an even number (== 0).
boolean isEven = (input % 12) % 2 == 0;
if(isEven) {
System.out.println("Input is an even number.");
}
else {
System.out.println("Input is an odd number.");
}
}
推荐阅读
- python - 处理 Ctypes 中的默认参数
- node.js - Websocket 失败 帧头无效
- r - 滚动关联两个数据帧
- sql - SQL 中 2 个日期之间的 SQL 搜索
- microsoft-graph-api - Microsoft Graph - 代表用户在 MS 团队上发送消息
- python - 如何将用户输入存储到字典中?Python
- docker - 未检测到 docker 参数
- sql - 如何在 Excel 中连接和编写 SQL 以在 MS Access 中上传数据?
- c - 无法执行位于 WSL 中程序数据段中的汇编代码
- asp.net - ASP.NET Web API 上传图片