package secondchapt;
import java.util.Scanner;
public class Monthcacular {
public static void main(String []args) {
String[] Month= {"January","February","March","April","May","June","July","August","Septemper","October"
,"November","December"};
int []days= {31,28,31,30,31,30,31,31,30,31,30,31};//一般年份月天数
//先判断年份是润年还是平年,非整百年份,能被4整除的是润年;整百年份,能被400整除的是润年,其余则为平年
int number;
Scanner scanner=new Scanner(System.in);
System.out.println("input year:");
if(scanner.hasNextInt()) {
number=scanner.nextInt();
if(number%400==0||(number%4==0&&number%100!=0)) {//润年判断条件
days[1]=29;
}
}else {
scanner.close();
System.out.println("Invalid input. Please enter a valid year.");
return; // 如果输入不是整数,则退出程序
}
System.out.println("intput month:");
if(scanner.hasNextInt()) {
int label=scanner.nextInt();
if(label>=1&&label<=12) {
System.out.println(Month[label-1]+","+number+" has "+days[label-1]+" days ");
}else System.out.println("Invalid month input. Please enter a month between 1 and 12.");
}
scanner.close();//关闭管道
}
}
上述代码输出如下:检验正确

代码涉及知识点:
在Java中,你可以使用java.util.Scanner类从键盘获取输入。以下是一个简单的例子,演示如何从键盘输入一个数字:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字:");
if (scanner.hasNextInt()) {
int number = scanner.nextInt();
System.out.println("你输入的数字是:" + number);
} else {
System.out.println("输入的不是一个有效的数字");
}
scanner.close();
}
}
在这个例子中,我们首先创建了一个Scanner对象,这个对象用于读取用户的输入。然后,我们使用System.out.println来提示用户输入一个数字。
我们使用scanner.hasNextInt()来检查用户输入的是否为一个整数。如果是,我们使用scanner.nextInt()来读取这个整数,并打印出来。如果用户的输入不是一个有效的整数,我们打印出错误消息。
最后,我们调用scanner.close()来关闭Scanner对象,这是一个良好的编程习惯,可以帮助释放系统资源。
注意:Scanner类在读取完输入后并不会自动关闭,因此需要在不再需要时手动关闭,以避免资源泄露。
Scanner对象在读取时会区分字符型和整数型。Scanner类提供了多种方法来读取不同类型的数据,包括读取整数(如nextInt())和读取字符串(如next())。在读取字符串时,Scanner默认使用空格、回车等作为分隔符,因此在读取时会跳过这些字符。
如果想读取单个字符,虽然Scanner类没有直接提供读取char类型的方法,但可以通过读取字符串然后获取其第一个字符来实现,例如使用next().charAt(0)。
总的来说,Scanner对象会根据调用的方法来决定如何解析和返回输入数据,因此它可以区分并处理字符型和整数型等不同类型的数据。
本文展示了如何在Java中使用Scanner类获取用户输入的年月,并判断该月份的天数。通过检查用户输入的合法性,读取整数并进行相应计算,可以实现这一功能。同时,文章强调了在使用Scanner后需要手动关闭以防止资源泄露。

5334

被折叠的 条评论
为什么被折叠?



