Quand je lance le code suivant je reçois l'erreur - Exception dans le thread « principal » java.lang.Error: problème de compilation non résolues:Java Erreur: compilation non résolue
at homework6.main(homework6.java:6)
Je fait des recherches sur la raison pour laquelle cela pourrait se produire et les réponses précédentes indiquaient que le nom de la classe devait correspondre au nom du fichier java, ma classe correspondait aussi à celle du fichier .java. J'ai également essayé de supprimer "void" et l'ensemble de l'instruction, mais une nouvelle erreur s'est produite en disant que j'avais besoin de void public (String [] args). Est-ce que je rencontre un problème différent alors la classe et .java?
public class homework6 {
public static void main(String[] args) {
class Date {
private int month;
private int day;
private int year;
private String name;
public Date() {
}
{
month=1;
day = 1;
year = 2001;
name = "January";
}
public Date(int m, int d, int y) {
setDate(m, d, y);
}
public void setDate(int m, int d, int y) {
month = m;
day = d;
year = y;
if (m ==1)
name="January";
else if(m == 2)
name="February";
else if(m == 3)
name="March";
else if(m == 4)
name="April";
else if(m == 5)
name = "May";
else if(m == 6)
name = "June";
else if(m == 7)
name = "July";
else if(m == 8)
name = "August";
else if(m == 9)
name = "September";
else if(m == 10)
name = "October";
else if(m == 11)
name="November";
else if(m == 12)
name = "December";
}
public void showDate1() {
System.out.println(month + "/" + day + "/" + year);
}
public void showDate2() {
System.out.println(name + "" + day + "," + year);
}
public void showDate3() {
System.out.println(day + "" + name + "" + year);
}
}
}
}
Vous ne pouvez pas avoir une classe à l'intérieur d'une fonction. Mettez-le en dehors de votre fonction à la place. – Majora320
Je viens de copier votre code dans un fichier nommé 'homework6.java' - avec cette majuscule exacte - et il est très bien compilé. Il a fonctionné sans erreur, bien qu'il n'ait rien fait puisque la seule chose que fait votre méthode main() est de déclarer une classe (ne pas l'instancier, et encore moins invoquer n'importe quelle méthode). – yshavit