1、闰年的判断条件:年份数能被4整除且不能被100整除,或者能被400整除。2、从键盘上输入4位数的年份,判断是否为闰年。

参考代码片段

if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){

    System.out.println(year+“是闰年”);

}else{

     System.out.println(year+“不是闰年”);

}

2、判断水仙花数

需求说明:

从键盘录入一个整数

判断录入的整数是否是水仙花数。

水仙花数是一个三位的整数,其各位数字立方和等于该数本身。

例如:153=111+555+333

import java.util.*;

public static void main(String[] args) {

        // TODO code application logic here

        Scanner input=new Scanner(System.in);     

     System.out.print("请输入一个三位的整数:");

         int num=input.nextInt();

         int i = num / 100;     /*分解出百位*/

         int j = num / 10 % 10; /*分解出十位*/

         int k = num % 10;      /*分解出个位*/

         if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k){

           System.out.println(num+"是水仙花数.");

        } else{

            System.out.println(num+"不是水仙花数.");

        }

}

3、通过键盘输入某年某月某日,计算并输出这一天是这一年的第几天。例如,2001年3月5日是这一年的第64天。

/*

输入某年某月某日,判断这一天是这一年的第几天。例如,2001年3月5日是这一年的第64天。

 */



package javaapplication33;

import java.util.Scanner;

public class JavaApplication33 {

    public static void main(String[] args) {

        // TODO code application logic here

            Scanner input=new Scanner(System.in);

             System.out.print("请输入年份:");

            int year = input.nextInt();

             System.out.print("请输入月份:");

            int month = input.nextInt();

            System.out.print("请输入日期:");

            int day = input.nextInt();

            int sum=0;

            boolean leap=true;

            

            switch (month)/*先计算某月以前月份的总天数*/

            {

                case 1: sum = 0; break;

                case 2: sum = 31; break;

                case 3: sum = 59; break;

                case 4: sum = 90; break;

                case 5: sum = 120; break;

                case 6: sum = 151; break;

                case 7: sum = 181; break;

                case 8: sum = 212; break;

                case 9: sum = 243; break;

                case 10: sum = 273; break;

                case 11: sum = 304; break;

                case 12: sum = 334; break;

                default: System.out.println("data error"); 

            }

            sum = sum + day;/*再加上某天的天数*/

            /*判断是不是闰年*/

            if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))

            {    leap = true;   }

            else

            {   leap = false;    }

            if (leap == true && month > 2)//如果是闰年且月份大于2,总天数应该加一天

            {   sum++;    }

        System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+sum+"天.");

    }    

}

4、从键盘上输入一个年份值和一个月份值,输出该月的天数。(说明:一年有12个月,大月的天数是31,小月的天数是30。2月的天数比较特殊,遇到闰年是29天,否则为28天。例如,输入2011、3,则输出31天。)

import java.util.*;



public static void main(String[] args) {

    Scanner input=new Scanner(System.in);

    System.out.print("请输入年份:");

        int year = input.nextInt();

        System.out.print("请输入月份:");

        int month = input.nextInt();

        int numdays = 0;

        switch (month)

        {

           //当月份为1,3,5,7,8,10,12时,该月的天数为31

            case 1: 

        case 3:    

        case 5: 

        case 7:    

        case 8: 

        case 10: 

        case 12:    

                numdays = 31;

                break;

            case 2:        //当月份为2时,首先需要判断输入的年份是否为闰年,如果是闰年,则为29天,否则为28天

                {

                    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))

                    {

                        numdays = 29;

                    }

                    else

                    {

                        numdays = 28;

                    }

                    break;

                }

            case 4:        //当月份为4,6,9,11时,该月的天数为30

            case 6:

            case 9:

            case 11:

                numdays = 30;

                break;

        }

        System.out.println(year+"年"+ month+"月有"+numdays+"天");

    }