Blue Bridge Cup Fecha Problema Implementación de Java

Esta pregunta debería ser un poco difícil, tal vez fui demasiado mala y la escribí durante mucho tiempo.
Título: Tema OJ
Inserte la descripción de la imagen aquí
(1) Debemos prestar atención a que esto todavía es un poco aburrido. En primer lugar, este año, mes y día, parece que realmente resolvemos el problema. No? ¿Quieres simular manualmente? Un poco de problemas
(2) cuando la salida la salida por orden cronológico, es decir, tenemos que ponerlos en orden de tiempo dispuesto para la salida
(3) y luego nunca conseguiremos la otra me siento este plato de pollo creció más y más compleja simulación de la violencia directa Derecho!
Código:

import java.util.*;
public class P7164日期问题 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a[] = sc.next().split("/");
		int b[] = new int[3];
		for(int i = 0;i < a.length;i++)
			b[i] = Integer.valueOf(a[i]);
		TreeSet<yea> set = new TreeSet<yea>();
		if(b[0] <= 59){
			if(b[1] <= 12 && b[2] <= 31 && b[1] != 0 && b[2] !=0){
				yea ans = new yea();
				ans.y = b[0]+2000;
				ans.m = b[1];
				ans.d = b[2];
				set.add(ans);
			}
		}
		if(b[2] <= 59){
			if(b[0] <= 12 && b[1] <= 31 && b[1] != 0 && b[0] !=0){
				yea ans = new yea();
				ans.y = b[2]+2000;
				ans.m = b[0];
				ans.d = b[1];
				set.add(ans);
			}
			if(b[0] <= 31 && b[1] <= 12 && b[1] != 0 && b[0] !=0){
				yea ans = new yea();
				ans.y = b[2]+2000;
				ans.m = b[1];
				ans.d = b[0];
				set.add(ans);
			}
		}
		if(b[0] >= 60){
			if(b[1] <= 12 && b[2] <= 31 && b[1] != 0 && b[2] !=0){
				yea ans = new yea();
				ans.y = b[0]+1900;
				ans.m = b[1];
				ans.d = b[2];
				set.add(ans);
			}
		}
		if(b[2] >= 60){
			if(b[0] <= 12 && b[1] <= 31&& b[1] != 0 && b[0] !=0){
				yea ans = new yea();
				ans.y = b[2]+1900;
				ans.m = b[0];
				ans.d = b[1];
				set.add(ans);
			}
			if(b[1] <= 12 && b[0] <= 31&& b[1] != 0 && b[0] !=0){
				yea ans = new yea();
				ans.y = b[2]+1900;
				ans.m = b[1];
				ans.d = b[0];
				set.add(ans);
			}
		}
		for(yea t:set)
			System.out.printf("%d-%02d-%02d\n",t.y,t.m,t.d);
		sc.close();
	}
}
class yea implements Comparable{
	int y;
	int m;
	int d;
	public int compareTo(Object b){
		yea a = (yea)b;
		if(this.y > a.y)
			return 1;
		else if(this.y == a.y){
			if(this.m > a.m)
				return 1;
			else if(this.m == a.m){
				if(this.d > a.d)
					return 1;
				else return -1;
			}
			else
				return -1;
		}
		else return -1;
	}
}
32 artículos originales publicados · elogiados 5 · visitas 862

Supongo que te gusta

Origin blog.csdn.net/shizhuba/article/details/105301073
Recomendado
Clasificación