Eu to tentando resolver o código desse seguinte exercicio
Escreva uma classe Data cuja instância (objeto) represente uma data. Esta classe deverá dispor dos
seguintes métodos:
a. Construtor: define a data que determinado objeto (através de parâmetro), este método verifica se a
data está correta, caso não esteja a data é configurada como 01/01/0001
b. Compara: recebe como parâmetro um outro objeto da Classe data, compare com a data corrente e
retorne:
i. 0 se as datas forem iguais;
ii. 1 se a data corrente for maior que a do parâmetro;
iii. -1 se a data do parâmetro for maior que a corrente.
c. GetDia: retorna o dia da data
d. GetMes: retorna o mês da data
e. GetMesExtenso: retorna o mês da data corrente por extenso
f. GetAno: retorna o ano da data
g. IsBissexto: retorna verdadeiro se o ano da data corrente for bissexto e falso caso contrário
h. Clone: o objeto clona a si próprio, para isto, ele cria um novo objeto da classe Data com os
mesmos valores de atributos e retorna sua referência pelo método
Tava tudo perfeito mas na hora de executar deu ruim e não consigo identificar o erro, porque simplesmente não mostra, olhem os prints, mostra vermelho mas não mostra o que é no código, tudo amarelo mas na aba de cima ao lado do startpage vermelho, não consigo identificar erro nenhum dessa forma, e o codigo não executa por erro de compilação mas eu n vou conseguir identificar erro se não tem, me ajudem por favor
import java.time.LocalDate;
public class Data {
private int dia;
private int mes;
private int ano;
public Data(int dia, int mes, int ano){
if (dataValida(dia, mes, ano)){
} else {
this.dia = 1;
this.mes = 1;
this.ano = 1;
}
}
/* public boolean dataValida(int dia, int mes, int ano){
try {
LocalDate.of(ano, mes, dia);
return true;
} catch (Exception e){
return false; */
//}
// }
public int compara(Data outraData){
if(this.ano > outraData.ano){
return 1;
} else if(this.ano < outraData.ano){
return - 1;
} else {
if (this.mes > outraData.mes){
return 1;
} else if(this.mes < outraData.mes){
return - 1;
} else {
if(this.dia > outraData.dia){
return 1;
} else if (this.dia < outraData.dia){
return - 1;
} else {
return 0;
}
}
}
}
public int getDia() {
return dia;
}
public int getMes() {
return mes;
}
public String getMesExtenso(){
String[] mesesExtenso = {"Janeiro ", "Fevereiro ", "Março ", "Abril ", "Maio ",
"Junho ", "Julho ", "Agosto ", "Setembro ", "Outubro ", "Novembro ",
"Dezembro"};
return mesesExtenso[this.mes - 1];
}
public int getAno() {
return ano;
}
public boolean isBissexto(){
return (this.ano % 4 == 0 && this.ano % 100 != 0 || this.ano % 400 = 0);//<editor-fold defaultstate="collapsed" desc="comment">
// || (this. ano % 400 = 0);
//</editor-fold>
}
public boolean dataValida(int dia, int mes, int ano){
try {
LocalDate.of(ano, mes, dia);
return true;
} catch (Exception e){
return false;
}
}
}
ata data1 = new Data(25, 06, 2022);
Data data2 = new Data(28, 6, 2022);
System.out.println("Dia: " + data1.getDia());
System.out.println("Mes: " + data1.getMes());
System.out.println("Mes por extenso: " + data1.getMesExtenso());
System.out.println("Ano: " + data1.getAno());
System.out.println("E bissexto? " + data1.isBissexto());
System.out.println("Comparacao: " + data1.compara(data2));