实训JAVA语言设计——从键盘输入一个年份,判断是否是闰年

/*从键盘输入一个年份,判断是否是闰年*/ 
2 import java.util.*; 
3  public class J2_12{
4  public static void main(String args[]){
5  Scanner scanner = new Scanner(System.in); /*构造一个Scanner对象,其传入参数为System.in*/
6 System.out.println("Please enter a year!");
7 int year= scanner.nextInt(); /*读取一个int数值 */
8 if(year % 4==0 && year % 100 !=0|| year % 400==0) /*判断是否为闰年*/
9  System.out.println(+year+"IS A LEAP YEAR");
10 else
11 System.out.println(+year+"IS NOT A LEAP YEAR");
12  }
13 }
<think>我们需要实现一个Java程序,从键盘输入一个年份,然后判断是否是闰年闰年判断规则: 1. 如果年份能被4整除但不能被100整除,则是闰年。 2. 或者,如果年份能被400整除,则是闰年。 步骤: 1. 导入必要的类(如Scanner)。 2. 创建Scanner对象以从标准输入读取。 3. 提示用户输入年份。 4. 读取用户输入的整数。 5. 使用条件语句判断是否为闰年。 6. 输出结果。 注意:考虑输入验证(例如,输入的是否为整数),但根据引用[3]中的示例,我们可以使用`input.hasNextInt()`来验证输入。 我们将编写一个包含输入验证的代码。 代码结构: - 导入java.util.Scanner; - 主类和方法 - 在main方法中: a. 声明变量年份(year) b. 创建Scanner对象 c. 提示输入 d. 检查输入是否为整数,如果不是,给出错误信息。 e. 如果是整数,则读取并判断闰年判断条件:`(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)` 根据引用[1]和[3],我们可以使用类似的条件。 我们将编写代码,并添加适当的注释。 注意:引用[1]中使用了`||`和`&&`,引用[3]中使用了标志变量。我们可以直接使用条件表达式输出,也可以使用标志变量,两者皆可。 这里我们采用直接输出方式,同时保留输入验证。 代码如下: </think>### Java实现从键盘输入年份判断闰年 根据您提供的引用内容(特别是引用[1]和[3]),以下是完整的Java实现代码,包含输入验证和闰年判断逻辑: ```java import java.util.Scanner; public class LeapYearChecker { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入判断年份:"); // 验证输入是否为整数 if(input.hasNextInt()) { int year = input.nextInt(); // 闰年判断逻辑(满足任一条件即为闰年) boolean isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); // 输出结果 System.out.printf("%d年%s闰年", year, isLeapYear ? "是" : "不是"); } else { System.out.println("输入无效,请输入有效的整数年份!"); } input.close(); // 关闭Scanner资源 } } ``` ### 代码说明: 1. **输入处理**: - 使用`Scanner`类获取键盘输入 - `hasNextInt()`方法验证输入是否为整数 - 无效输入时给出明确错误提示 2. **闰年判断核心逻辑**: ```java (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ``` 满足以下任一条件即为闰年: - 能被4整除但不能被100整除(例如2024) - 能被400整除(例如2000) 3. **输出格式**: - 使用`printf`格式化输出结果 - 三元运算符`? :`动态选择输出文本 ### 执行示例: ``` 请输入判断年份:2024 2024年是闰年输入判断年份:1900 1900年不是闰年输入判断年份:abc 输入无效,请输入有效的整数年份! ``` 此实现考了引用内容中的闰年判断逻辑[^1][^3],同时添加了输入验证和资源管理(`close()`方法),确保程序健壮性。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值