Onde utilizo cálculo de média, na classe Aluno ou na classe Curso?[RESOLVIDO]

8 respostas
java
N

Fala galera, tenho uma dúvida por isso vim até aqui, estou fazendo um programa de uma universidade genérica pra treinar meus conhecimentos. Tenho uma classe Aluno com seus métodos e atributos e tenho uma classe Curso e cada curso tem suas disciplinas(Lógica de Programação, Estrutura de Dados, etc) como na grade curricular de uma universidade. Minha dúvida é a seguinte, como eu associo o cálculo da nota de um aluno de Ciência da computação na disciplina Orientação à Objetos por exemplo?

Aluno aluno = new aluno;
aluno.nota = 10;

Como associo isto à disciplinada? Minha dúvida não é referente ao código, mas referente à Orientação à Objetos.

Me desculpem se me prolonguei muito.

8 Respostas

J

Fiz de uma forma bem simples. Com associação por composição. Aluno possui um curso.

package universidade;

public class Aluno {

private String nome;

Curso curso;
public Aluno(Curso curso) {
    this.curso = curso;
}   


public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public Curso getCurso() {
    return curso;
}

public void setCurso(Curso curso) {
    this.curso = curso;
}

@Override
public String toString() {
    return "Aluno {\n" + 
            "Nome do aluno: " + nome + "\n"+
             curso + "\n";
}

}


package universidade;

public class Curso  {

private String nomeCurso;

private double nota;
public String getNomeCurso() {
    return nomeCurso;
}

public void setNomeCurso(String nomeCurso) {
    this.nomeCurso = nomeCurso;
}

public double getNota() {
    return nota;
}

public void setNota(double nota) {
    this.nota = nota;
}  

@Override
public String toString() {
    return "Curso: "+ nomeCurso + "\n" +
            "Nota: "+nota+"\n }";
}

}

J

E a classe Teste:

package universidade;

public class Teste {

public static void main(String[] args) {

Curso curso = new Curso();

Aluno aluno1 = new Aluno(curso);
aluno1.setNome("Pedro");
   aluno1.setCurso(curso);
   aluno1.getCurso().setNomeCurso("Logica programacao");
   aluno1.getCurso().setNota(9.5);
   System.out.println(aluno1);
  
   System.out.println("-----------------------");
  
   Aluno aluno2 = new Aluno(curso);
   aluno2.setNome("Joao");
   aluno2.setCurso(curso);
   aluno2.getCurso().setNomeCurso("Estrutura de dados");
   aluno2.getCurso().setNota(6.5);
   System.out.println(aluno2);
  
}

}

J

Coloque nota1 nota2 e nota3 encapsulados na classe Curso depois crie um atributo double media, crie o get.

public double getMedia() {

return (this.nota1 + this.nota2 + this.nota3) / 3;

}
E
public class tt {

private double nota1;

private double nota2;

private double nota3;
public void setNota1(double nota1){
    this.nota1=nota1;
}
public double getnota1(){
    return nota1;
}
  public void setNota2(double nota2){
    this.nota2=nota2;
}
public double getnota2(){
    return nota2;
}
  public void setNota3(double nota3){
    this.nota3=nota3;
}
public double getnota3(){
    return nota3;
}

public double calcMedia(){
    return ((nota1 + nota2 + nota3)/3);
}

public String conceito(){
    if (calcMedia() <= 4.9 ){
        return "D";
    }else if (calcMedia() >= 5 && calcMedia()<= 6.9){
        return "C";
    }else if (calcMedia() >= 7 && calcMedia()<= 8.9){
        return "B";
    }else{
        return "A";
    }
}

public String toString(){
    return "nota1: "+nota1+
            "\nnota2: "+nota2+
            "\nnota3: "+nota3+
            "\nmedia: "+calcMedia()+
            "\nconceito: "+conceito();
    
}

}

E

import java.util.Scanner;
import modelo.tt;

/**
*

  • @author CPD
    
    */
    
    public class teste {
    
    public static void main(String[] args) {
    
    Scanner ler = new Scanner(System.in);
     
     tt T1 = new tt();
     
    System.out.println("digite sua nota1: ");
    T1.setNota1(ler.nextDouble());
    System.out.println("digite sua nota2: ");
    T1.setNota2(ler.nextDouble());
    System.out.println("digite sua nota2: ");
    T1.setNota3(ler.nextDouble());
    
     System.out.println(T1);
    

    }

}

D

Olá

Está faltando algo

Exemplo o Aluno tem um curriculo q contem o curso e as disciplinas do curso

class Curriculo {
    Aluno aluno;
    Curso curso;
    List disciplinas;
}

Obviamente q nem todo aluno estuda todas as disciplinas do curso pois existem tbem as optativas, as equivalentes, as dependencias, etc…

Na classe disciplina ficaria assim

class Disciplina {
    int ano; // Ano lecionado
    String nome;
    Professor professor;
    Curso curso; // referencia ao curso, podem existir várias disciplina com mesmo nome
    List provas; // provas
    List atividades; // atividades
}

A classe prova

class Prova {
    int id; // identificaçao, prova1, prova2, prova substitutiva, ....
    Aluno aluno;
    float nota;
}

as atividades seria semelhante

N

Obrigado pela ajuda pessoal, vocês ajudaram muito, vou conseguir dar sequencia com essas dicas

N

a minha dúvida era exatamente isso que o Diego12 falou

Criado 27 de abril de 2016
Ultima resposta 29 de abr. de 2016
Respostas 8
Participantes 4