
代碼
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
有的要别人來設定目标,有的給别人設定目标;
有的需要感情支援生活,有的需要意志支援生活。