Java - Error en compilacion

 
Vista:

Error en compilacion

Publicado por Juan (1 intervención) el 28/02/2024 00:20:53
Saludos, me disculpo de antemano por cualquier inconveniente ya que es mi primera vez participando en un foro. Y le agradezco cualquier ayuda de antemano. Tengo un código en Java donde tengo un archivo con la definición de Fecha y el archivo se llama Fecha.java y la definición de Main y el archivo se llama Main.java pero me esta dando error: acá paso el código de la definición de Fecha:

public class Fecha {
private int dia;
private int mes;
private int anio;

public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
normalizar();
}

public int getDia() {
return dia;
}

public void setDia(int dia) {
this.dia = dia;
normalizar();
}

public int getMes() {
return mes;
}

public void setMes(int mes) {
this.mes = mes;
normalizar();
}

public int getAnio() {
return anio;
}

public void setAnio(int anio) {
this.anio = anio;
normalizar();
}

public void reiniciar(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
normalizar();
}

public void adelantar(int dias) {
dia += dias;
normalizar();
}

public void imprimir() {
System.out.println(dia + "/" + mes + "/" + anio);
}

private void normalizar() {
if (mes < 1) {
mes = 1;
} else if (mes > 12) {
mes = 12;
}

int maxDias = diasDelMes(mes);

if (dia < 1) {
dia = 1;
} else if (dia > maxDias) {
dia = maxDias;
}
}

private int diasDelMes(int mes) {
int[] diasPorMes = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
return diasPorMes[mes - 1];
}
}

y ahora el código de la definición de Main:

public class Main {
public static void main(String[] args) {
Fecha fecha = new Fecha(25, 2, 2024);
fecha.imprimir(); // Imprime: 25/2/2024

fecha.setDia(30);
fecha.setMes(2);
fecha.setAnio(2023);
fecha.imprimir(); // Imprime: 28/2/2023

fecha.reiniciar(15, 8, 2022);
fecha.imprimir(); // Imprime: 15/8/2022

fecha.adelantar(10);
fecha.imprimir(); // Imprime: 25/8/2022
}
}

Sin embargo, me da este error en la compilacion:

javac Fecha.java
Fecha.java:78: error: class Main is public, should be declared in a file named Main.java
public class Main {
^
1 error

¿A que se debería esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Error en compilacion

Publicado por Billy Joel (876 intervenciones) el 28/02/2024 04:13:55
A lo mejor estás acostumbrado a colocar todo el código en un mismo archivo.
La solución a tu problema es colocar la clase Fecha en un archivo Fecha.java y la clase Main en otro archivo Main.java.
juan-fecha-main

Tu código está bien.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar