Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dataProc;
- import java.time.LocalDate;
- public class Data {
- private Integer dia;
- private Integer mes;
- private Integer ano;
- private LocalDate dataAtual;
- public Data() {
- dataAtual = LocalDate.now();
- dia = dataAtual.getDayOfMonth();
- mes = dataAtual.getMonthValue();
- ano = dataAtual.getYear();
- }
- public Data(Integer dia, Integer mes, Integer ano) {
- this.dia = dia;
- this.mes = mes;
- this.ano = ano;
- }
- public boolean validaData() {
- if(ano >= 0) {
- switch(mes) {
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12: if (dia >= 1 && dia <= 31) return true;
- case 4:
- case 6:
- case 9:
- case 11: if (dia >= 1 && dia <= 30) return true;
- case 2:
- if(isAnoBissexto(ano)) {
- if (dia >= 1 && dia <= 29) return true;
- } else {
- if (dia >= 1 && dia <= 28) return true;
- }
- }
- }
- return false;
- }
- public void addDays(Integer day) {
- dataAtual = LocalDate.of(ano, mes, dia);
- dataAtual = dataAtual.plusDays(day);
- }
- public LocalDate getDataAtual() {
- return dataAtual;
- }
- public void setDataAtual(LocalDate dataAtual) {
- this.dataAtual = dataAtual;
- }
- public Integer getDia() {
- return dia;
- }
- public void setDia(Integer dia) {
- this.dia = dia;
- }
- public Integer getMes() {
- return mes;
- }
- public void setMes(Integer mes) {
- this.mes = mes;
- }
- public Integer getAno() {
- return ano;
- }
- public void setAno(Integer ano) {
- this.ano = ano;
- }
- @Override
- public String toString() {
- return "Data: "+ dataAtual.getDayOfMonth() + "/" + dataAtual.getMonthValue() + "/" + dataAtual.getYear();
- }
- private static boolean isAnoBissexto(int ano) {
- if ((ano%4 == 0 && ano % 100 != 0) || (ano % 400 == 0)){
- return true;
- }
- else{
- return false;
- }
- }
- }
- -------------------------------------------------------------------------------------------------------
- package dataProc;
- import java.util.Scanner;
- public class TesteDataProc {
- public static void main(String[] args) {
- final Integer op;
- final Integer dia ;
- final Integer mes ;
- final Integer ano ;
- final Integer days ;
- Data data = new Data();
- Scanner ler = new Scanner(System.in);
- System.out.print("Data do sistema [1] Data do usuário [2]: ");
- op = ler.nextInt();
- if (op == 2) {
- System.out.print("Informe o dia: ");
- dia = ler.nextInt();
- ler.nextLine();
- System.out.print("Informe o mes: ");
- mes = ler.nextInt();
- ler.nextLine();
- System.out.print("Informe o ano (yyyy): ");
- ano = ler.nextInt();
- data = new Data(dia,mes,ano);
- if (!data.validaData())
- System.out.println("Data inválida!");
- }
- ler.nextLine();
- System.out.print("Informe dia acréscimo: ");
- days = ler.nextInt();
- data.addDays(days);
- System.out.println(data.toString());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement