天天看点

软件工程,结构化设计

软件工程,结构化设计
软件工程,结构化设计

代码

package com.ding.test;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Year;
import java.util.Date;

public class PdRunNian {

    public static void main(String[] args) throws ParseException {
        System.out.println("=====判断闰年====");
        int i = pdRunNian(2020);
        System.out.println(i);

        System.out.println("=======返回下一天=======");
       String date = nextDate(2021, 10, 23, 6);
        System.out.println("下一天为:"+date);

        System.out.println("======今年第几天======");
        int currentDate = currentDate(2021, 10, 23);
        System.out.println("今年第几天:"+currentDate);

        System.out.println("=======两个日期想差的天数========");
        String dateStr = "1949-10-1 11:28:28";
        String dateStr2 = "2021-10-23 11:28:28";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date2 = format.parse(dateStr2);
        Date date1 = format.parse(dateStr);
        int days = differentDaysByMillisecond(date1, date2);
        System.out.println(days);
        
        System.out.println("=====判断素数=====");
        boolean b = PdSushu(7);
        System.out.println("该数是素数吗:"+b);

        System.out.println("验证哥德巴赫猜想");
        Yanzhenh(7);

        System.out.println("=====求最大最小值=====");
        int[] a = {3, 4, 1, 2, 9, 4, 10, 32, 24, 42};
        int[] mm = Mm(a);
        System.out.println("最大值为:"+mm[0]+"索引为:"+mm[2]+"最小值为:"+mm[1]+"索引为:"+mm[3]);

    }



    //判定是否闰年,并返回一个整型值
    public static int pdRunNian(int year){
        int y=0;
        if(year%400==0|| year%4==0&& year%100!=0){
            y=1;
        }
        return y;
    }


    //获取并返回明天(下一天)的新日期
    public static String nextDate(int year,int month,int day, int weekday){
        int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if(pdRunNian(year)==1){
            m[2]=29;
        }
        int a=year;
        int b=month;
        int c=day;
        int d=weekday;
        c=c+1;
        if(c>m[b]){
            c=1;
            b=b+1;
            if(b>12){
                a=a+1;
                b=1;
                c=1;
            }
        }
        d=d+1;
        if(d>7){d=1;}
        String n = String.valueOf(a) + String.valueOf(b)+ String.valueOf(c)+ String.valueOf(d);
        return n;

    }


    //计算该日期是当年第几天
    public static int currentDate(int year,int month,int day){
        int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if(pdRunNian(year)==1){
            m[2]=29;
        }
        int a=year;
        int b=month;
        int c=day;

        c=c;
        if(c>m[b]){
            c=1;
            b=b+1;
            if(b>12){
                a=a+1;
                b=1;
                c=1;
            }
        }
        int n = 0;
        for (int i = 0; i < month; i++) {
            n += m[i];

        }

        return n + c;

    }


     //通过时间秒毫秒数判断两个时间的间隔
    public static int differentDaysByMillisecond(Date date1, Date date2)
    {
        int days = (int) ((date2.getTime() - date1.getTime()) / (1000*3600*24));
        return days;
    }

    //判断素数
    public static boolean PdSushu(int num) {
        boolean result = true;
        for (int i = 2; i < num; ++i) {
              if (num % i == 0) {
                  result = false;
                  break;
              }
          }

        return result;
    }

    //验证哥德巴赫猜想
    public static void Yanzhenh(int n) {
        for (int a = 2; a <= n - 1; ++a) {
            int b=n-a;
            boolean x=PdSushu(a);
            boolean y=PdSushu(b);
            if(x&&y) {
                System.out.println(a+"+"+b+"="+n);
            }
        }
    }
    //返回一个最大值和一个最小值
    public static int [] Mm(int num[]) {
        int[] result = new int[4];
        result[0] = num[0];//最大
        result[1] = num[1];//最小
        for (int i = 0; i < num.length; i++) {
            if (result[0] < num[i]) {
                result[0] = num[i];
                result[2] = i;//索引
            }
            if (result[1] > num[i]) {
                result[1] = num[i];
                result[3] = i;//索引
            }
        }
        return result;
    }
}


package com.ding.test;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Year;
import java.util.Date;

public class PdRunNian {

    public static void main(String[] args) throws ParseException {
        System.out.println("=====判断闰年====");
        int i = pdRunNian(2020);
        System.out.println(i);

        System.out.println("=======返回下一天=======");
       String date = nextDate(2021, 10, 23, 6);
        System.out.println("下一天为:"+date);

        System.out.println("======今年第几天======");
        int currentDate = currentDate(2021, 10, 23);
        System.out.println("今年第几天:"+currentDate);

        System.out.println("=======两个日期想差的天数========");
        String dateStr = "1949-10-1 11:28:28";
        String dateStr2 = "2021-10-23 11:28:28";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date2 = format.parse(dateStr2);
        Date date1 = format.parse(dateStr);
        int days = differentDaysByMillisecond(date1, date2);
        System.out.println(days);
        
        System.out.println("=====判断素数=====");
        boolean b = PdSushu(7);
        System.out.println("该数是素数吗:"+b);

        System.out.println("验证哥德巴赫猜想");
        Yanzhenh(7);

        System.out.println("=====求最大最小值=====");
        int[] a = {3, 4, 1, 2, 9, 4, 10, 32, 24, 42};
        int[] mm = Mm(a);
        System.out.println("最大值为:"+mm[0]+"索引为:"+mm[2]+"最小值为:"+mm[1]+"索引为:"+mm[3]);

    }



    //判定是否闰年,并返回一个整型值
    public static int pdRunNian(int year){
        int y=0;
        if(year%400==0|| year%4==0&& year%100!=0){
            y=1;
        }
        return y;
    }


    //获取并返回明天(下一天)的新日期
    public static String nextDate(int year,int month,int day, int weekday){
        int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if(pdRunNian(year)==1){
            m[2]=29;
        }
        int a=year;
        int b=month;
        int c=day;
        int d=weekday;
        c=c+1;
        if(c>m[b]){
            c=1;
            b=b+1;
            if(b>12){
                a=a+1;
                b=1;
                c=1;
            }
        }
        d=d+1;
        if(d>7){d=1;}
        String n = String.valueOf(a) + String.valueOf(b)+ String.valueOf(c)+ String.valueOf(d);
        return n;

    }


    //计算该日期是当年第几天
    public static int currentDate(int year,int month,int day){
        int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if(pdRunNian(year)==1){
            m[2]=29;
        }
        int a=year;
        int b=month;
        int c=day;

        c=c;
        if(c>m[b]){
            c=1;
            b=b+1;
            if(b>12){
                a=a+1;
                b=1;
                c=1;
            }
        }
        int n = 0;
        for (int i = 0; i < month; i++) {
            n += m[i];

        }

        return n + c;

    }


     //通过时间秒毫秒数判断两个时间的间隔
    public static int differentDaysByMillisecond(Date date1, Date date2)
    {
        int days = (int) ((date2.getTime() - date1.getTime()) / (1000*3600*24));
        return days;
    }
    public static boolean PdSushu(int num) {
        boolean result = true;
        for (int i = 2; i < num; ++i) {
              if (num % i == 0) {
                  result = false;
                  break;
              }
          }

        return result;
    }

    //验证哥德巴赫猜想
    public static void Yanzhenh(int n) {
        for (int a = 2; a <= n - 1; ++a) {
            int b=n-a;
            boolean x=PdSushu(a);
            boolean y=PdSushu(b);
            if(x&&y) {
                System.out.println(a+"+"+b+"="+n);
            }
        }
    }
    //返回一个最大值和一个最小值
    public static int [] Mm(int num[]) {
        int[] result = new int[4];
        result[0] = num[0];//最大
        result[1] = num[1];//最小
        for (int i = 0; i < num.length; i++) {
            if (result[0] < num[i]) {
                result[0] = num[i];
                result[2] = i;//索引
            }
            if (result[1] > num[i]) {
                result[1] = num[i];
                result[3] = i;//索引
            }
        }
        return result;
    }
}




           

结果

=判断闰年

1

=返回下一天=

下一天为:202110247

今年第几天

今年第几天:296

=两个日期想差的天数==

26320

=判断素数=

该数是素数吗:true

验证哥德巴赫猜想

2+5=7

5+2=7

=求最大最小值=

最大值为:42索引为:9最小值为:1索引为:2

进程已结束,退出代码 0

有的要别人来设定目标,有的给别人设定目标;

有的需要感情支持生活,有的需要意志支持生活。