您的位置:首页 > 编程语言 > Java开发

Caterl java 寒假基础练习题(二) ---- 判断闰年和简单递归

2013-02-24 20:40 411 查看
题目1:

  输入某年某月某日,判断这一天是这一年的第几天?

分析:

  以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

代码:

import java.util.Scanner;

public class Days {
public static void main(String[] args) {

//年份
System.out.println("请输入年份:");
Scanner sc_y = new Scanner(System.in);
int year = sc_y.nextInt();

//月份
System.out.println("请输入月份:");
Scanner sc_m = new Scanner(System.in);
int month = sc_m.nextInt();

//日
System.out.println("请输入日期:");
Scanner sc_d = new Scanner(System.in);
int day = sc_d.nextInt();

int sum = 0;//总天数
int[] days = {31,28,31,30,31,30,31,31,30,31,30,31};//日期数组

//计算总天数
for (int i = 0; i < month-1; i++) {
sum += days[i];
}
sum += day;

//判断闰年 如果是闰年就加一天
if ( ((year%400==0) || ( (year%4==0)&&(year%100!=0))) && month>2 ) {
++sum;
}

//输出总天数
System.out.println("到" + year + "年" + month + "月" + day + "日"
+ "是本年的第 " + sum + " 天!");
}
}


题目一运行结果:



题目2:

  有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。

问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

分析:

  简单递归

代码:

public class Age {
public static void main(String[] args) {
System.out.println("第五个人" + calcAge(5) + "岁!\n\n");
}

private static int calcAge(int n) {

if (n == 1) {
return 10;
}else {
return calcAge(n-1)+2;
}
}
}


运行结果:



  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: