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,写错了