Ir ao conteúdo
  • Cadastre-se

Java Erro de sintaxe e limitar casas decimais


Posts recomendados

Bom dia, boa tarde ou boa noite pessoal!

 

Comecei a me aventurar na programação em Java há pouco tempo e tenho algumas dúvidas.

 

O código abaixo possui algum erro de sintaxe no início? Estou usando um compilador e ele emite a seguinte mensagem antes de "public class Student": "Student.java is not on the classpath of project myartifactid, only syntax errors are reported".

 

image.png.92e9b938ab85171cea6113ff3fc04b3c.png

 

Como eu faço para que na impressão, as médias das notas que seria o "Average" saia com duas casas decimas de precisão?

 

image.png.146d57a0458f8a602cc499923248d15b.png

 

public class Student {
    String Name;
    int Registration;
    String Cpf;
    String DateOfBirth;
    double Height;
    int Age;
    double Note[] = new double[5];
    double Average;
    String SituationEvidence;

public Student(String Name, int Registration, String Cpf, String DateOfBirth, double Height, int Age, double Note1, double Note2, double Note3, double Note4, double Note5) {
    this.Name = Name;
    this.Registration = Registration;
    this.Cpf = Cpf;
    this.DateOfBirth = DateOfBirth;
    this.Height = Height;
    this.Age = Age;
    this.Note[0] = Note1;
    this.Note[1] = Note2;
    this.Note[2] = Note3;
    this.Note[3] = Note4;
    this.Note[4] = Note5;
    CalculateAverage();
}

public void SetNote(int Registration, double Note) {
    if ((Registration < 1) || (Registration > this.Note.length))
       return;
    this.Note[Registration-1] = Note;
    CalculateAverage();
}

public double GetNote(int Registration) {
    if ((Registration < 1) || (Registration > Note.length))
       return 0;
    return Note[Registration-1];
}

private void CalculateAverage() {
    double Sum = 0;
    for (int i = 0; i < Note.length; i++) {
       Sum += Note[i];
    }
    Average = Sum / Note.length;
    SituationEvidence();
}

private void SituationEvidence() {
    if (Average > 7) {
       this.SituationEvidence = "Approved!";
    }
    else if (Average > 5) {
       this.SituationEvidence = "In exam.";
    }
    else {
       this.SituationEvidence = "Disapproved.";
    }
}

public String toString() {
    String out = "";
    out += "\nName: " + Name + " \n";
    out += "Registration: " + Registration + " \n";
    out += "Cpf : " + Cpf + " \n";
    out += "Date of birth: " + DateOfBirth + " \n";
    out += "Height: " + Height + " \n";
    out += "Age: " + Age + " \n";
    out += "Average: " + Average + " \n";
    out += "Bimonthly situation: " + SituationEvidence + " \n";
    return out;
}

public static void main(String[] args) {
    Student student[] = new Student[3];
    student[0] = new Student("Lucas", 1, "111", "15/05/2001", 1.80, 21, 5.8, 9.2, 4.1, 7.8, 8);
    student[1] = new Student("Luan", 2, "222", "15/05/2001", 1.79, 21, 9, 9.3, 8, 7, 6);
    student[2] = new Student("Letícia", 3, "333", "21/10/2002", 1.68, 20, 5, 4, 6, 3, 6.2);
    for (int i = 0; i < student.length; i++) {
       System.out.println(student[i]);
    }
}
}

 

Desde já, agradeço pela atenção.

Link para o comentário
Compartilhar em outros sites

21 minutos atrás, AdrianoSiqueira disse:

Você está usando algum gerenciador de dependências? A classe está dentro de um pacote?

 

Sobre as casas decimais, pode ser feito assim:

System.out.printf("Media: %.2f\n", media);

 

 

Não saberia responder sua pergunta, estou bem no início da programação Java, acredito que talvez possa ser o compilador que eu esteja usando, que fica no Replit, porque quando compilei o código em um compilador online não apresentou erros. Você já usou o Replit ou conhece um ambiente melhor para programar em Java?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!