- Código: Selecionar tudo
/*
EXERCÍCIO 7
7. Elabore um programa em Java que possua um método que receba como
parametro duas datas, e mostre a maior data. Caso as datas sejam iguais,
emitir mensagem informando o usuário.
EXERCÍCIO 8
8. Aproveitando o programa do exercício anterior, emita uma mensagem ao
usuário caso a diferença entre as datas seja maior que 20 dias.
*/
import java.util.Calendar;
import java.util.Scanner;
class Datas{
//variáveis de instância
private int ano;
private int mes;
private int dia;
private Calendar data;
public Scanner s=new Scanner(System.in);
//construtor
public Datas(){
//Solicitando a entrada do dia
do{
System.out.print("dia --> ");
dia=s.nextInt();
s.nextLine();
}while(dia<1||dia>31);
//Solicitando a entrada do mes
do{
System.out.print("mes --> ");
mes=s.nextInt();
s.nextLine();
}while(mes<1||mes>12);
//Solicitando a entrada do ano
do{
System.out.print("ano --> ");
ano=s.nextInt();
s.nextLine();
}while(ano<1);
//Instanciando a classe Calendar
data=Calendar.getInstance();
//Atribuindo os dados
data.set(Calendar.YEAR,ano);
data.set(Calendar.MONTH,mes-1);
data.set(Calendar.DAY_OF_MONTH,dia);
data.set(Calendar.HOUR_OF_DAY,0);
data.set(Calendar.MINUTE,0);
data.set(Calendar.SECOND,0);
data.set(Calendar.MILLISECOND,0);
System.out.println("\n\nData criada com sucesso!\n");
}
public long getMilisegundos(){
return data.getTimeInMillis();
}
public void exibirData(){
System.out.println(data.getTime());
}
}
public class Exercicio7{
public static void main(String[] args){
//Exibindo o título
System.out.println("--------------------------------------------------");
System.out.println("Exercicio 07 e 08 - modulo 5");
System.out.println("--------------------------------------------------\n\n");
System.out.println("Criando a DATA 1:");
Datas data1=new Datas();
System.out.println("Criando a DATA 2:");
Datas data2=new Datas();
long d1=data1.getMilisegundos();
long d2=data2.getMilisegundos();
long diferenca=0;
System.out.print("A data mais proxima eh: ");
if(d1>d2){
data1.exibirData();
diferenca=d1-d2;
}else if(d2>d1){
data2.exibirData();
diferenca=d2-d1;
}else{
System.out.println("As datas sao iguais!");
}
if(diferenca>(1000*60*60*24*20)){
System.out.println("A diferenca de datas eh maior q 20 dias!");
}
System.out.println("\n\nEncerrado!");
}
}
Um forte abraço a todos...
Comentem os códigos a fim de todos melhorarmos
