1、编写一个控制台程序,输入一个日期,求下一天的日期。要求如下:
(1)在控制台输入一个日期(分别输入年、月、日),判断输入的日期是否有效,如果有效,计算该日期的下一天日期,并显示;否则,输出“无效的日期”后退出
2、使用Scanner和System.in输入各个变量的值,并按照公式计算得出结果,公式如下:
要求:输入三组不同的x、y和z的值,计算结果
//第1题:
//首先在包内创建一个类为Count
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int y,m,d; //定义年、月、日
int mon_day = 0; //定义月里的天数
boolean isLeap = false; //判断是否为闰年,初始定义为false
//输入年月日
System.out.print("请输入年份:");
y = scanner.nextInt();
System.out.print("请输入月份:");
m = scanner.nextInt();
System.out.print("请输入天数:");
d = scanner.nextInt();
//判断是否为闰年
if((y % 400 == 0) || (y % 4 == 0 && y % 100 != 0)) {
isLeap = true;
}
//判断年月是否合法,不合法直接退出
if (y <= 0 || m <= 0 || m >12) {
System.out.println("无效的日期!");
return;
}
//对mon_day进行赋值
//闰年
if (isLeap == true) {
//由于月份不同,对应每个月的天数不同,所以通过switch来设计每个月的天数:mon_day
switch (m) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: {
mon_day = 31;
break;
}
case 2: {
mon_day = 29; //闰年二月份29天
break;
}
default:{ //由于m已经被限制在1-12,因此剩下月份不再列举,采用default
mon_day = 30;
break;
}
}
} else { //平年
switch (m) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: {
mon_day = 31;
break;
}
case 2: {
mon_day = 28; //闰年二月份28天
break;
}
default:{
mon_day = 30;
break;
}
}
}
//判断日期是否合法
if (d<1 || d>mon_day) {
System.out.println("无效的日期!");
return;
}
//输出下一天
if (d != mon_day) { //判断当前日期是否为该月最后一天
d++;
} else {
if (m == 12) { //判断当前日期是否为该年最后一个天
y++;
m = 1;
y = 1;
} else {
m++;
d = 1;
}
}
//输出结果
System.out.println("该日期有效。下一天为:"+ y + "-" + m + "-" + d);
}
//第2题:
//创建类Count
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double x = 0;
double y = 0;
double z = 0;
for (int i = 0; i < 3; i++) {
System.out.print("请输入x的值:");
x = scanner.nextDouble();
System.out.print("请输入y的值:");
y = scanner.nextDouble();
System.out.print("请输入z的值:");
z = scanner.nextDouble();
double number = 3 * x + (4 * y * y +5)/2 - 7 * (z - 4) + (3 + x * x)/(x + y * z);
System.out.print("结果为:");
System.out.printf("%5.2f",number);
System.out.println();
}
}
在eclipse中创建两个类并将第1题,第2题代码分别复制粘贴即可
第1题中类为Date,写错了