Gostaria de saber como posso adicionar esses metodos no codigo abaixo e que minha ''toString()" de saida esteja no modo String.format() para formatar a string, já que tentei usar o metodo parse e não pode ser usado.
somadias(valor)
Soma à data atual o total de dias informado, fazendo desta a nova data. Deve ser levado em consideração a regra de limites de cada parâmetro. Se ultrapassar o valor máximo do ano, colocar o valor máximo.
subtrairdias(valor)
Subtrai da data atual o total de dias informado fazendo desta a nova data. Deve ser levado em consideração a regra de limites de cada parâmetro.
toString()
Deverá sobrescrever o método toString para devolver uma String com a data no formato “dia/mês/ano - sigla”, sendo o dia e o mês apresentados com dois dígitos e o ano com 4 dígitos. O ano deverá sempre ser apresentado sem sinal e a data deverá estar seguida da sigla “AC” para anos negativos e “DC” para anos positivos
public class DiaMesAno {
private int dia, mes, ano;
public static void main(String[] args) {
}
public DiaMesAno(int dia, int mes, int ano) {
if (!valido(dia, mes, ano)) { // se não válida, nem cria a instância, lança uma exceção para indicar que está errado
throw new IllegalArgumentException(“Valores inválidos”);
}
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
private boolean bissexto(int ano) {
return (ano % 4 == 0) && ((ano % 100) != 0 || (ano % 400) == 0);
}
private boolean valido(int dia, int mes, int ano) {
if (mes < 1 || mes > 12) { // mês inválido
return false;
}
// ver a quantidade de dias no mês
int qtdDias = 31;
if (mes == 4 || mes == 6 || mes == 9 || mes == 11) {
qtdDias = 30;
} else if (mes == 2) {
qtdDias = bissexto(ano) ? 29 : 28;
}
if (dia < 1 || dia > qtdDias) {
return false;
}
return true;
}
public int getDia() {
return dia;
}
public int getMes() {
return mes;
}
public int getAno() {
return ano;
}
public void setDia(int dia) {
// valida o novo dia, usando o mês e ano que já tem
if (!valido(dia, this.mes, this.ano)) {
throw new IllegalArgumentException("Valores inválidos");
}
this.dia = dia;
}
public void setMes(int mes) {
// valida o novo mês, usando o dia e ano que já tem
if (!valido(this.dia, mes, this.ano)) {
throw new IllegalArgumentException("Valores inválidos");
}
this.mes = mes;
}
public void setAno(int ano) {
// valida o novo ano, usando o mês e dia que já tem
if (!valido(this.dia, this.mes, ano)) {
throw new IllegalArgumentException("Valores inválidos");
}
this.ano = ano;
}
@Override
public String toString() {
return "DiaMesAno{" + "=" + dia + ", mes=" + mes + ", ano=" + ano + '}';
}
}