Ola pessoal estou com uma duvida meu professor da faculdade me passo este exercicio estou com dificuldade em fazer o iten b pois nao sei como faz para passar o ArrayList como parametro do construtor alguem pode me ajuda?
Desenvolver um programa que receba as seguintes informações, até que seja digitado ?-1?.
Entrada: RA do aluno, nome do aluno e nota do aluno;
Saída: Média de Notas;
Nome, RA e nota do aluno com a maior nota
Nome, RA e nota do aluno com a menor nota
OBS: a. Criar uma classe Nota e utilizar um vetor ou ArrayList de objetos Nota para armazenar cada registro de entrada;
b. Criar uma classe Disciplina que receba como parâmetro no construtor o vetor ou ArrayList com as notas e o nome da disciplina, e um método resultado que imprima as informações de saída conforme definidas anteriormente.
Não sei se intendi direito sua dúvida, mas para voces receber um array do tipo nota por parametro é simples,
segue abaixo um exemplo utilizando o nome do array que voce criou.
[code] public void teste(Notas entrada){
//Implementação…
}[/code]
ou sejá, no seu método voce recebera o array “entrada” do tipo “Notas”
Criar uma classe Disciplina que receba como parâmetro no construtor o vetor ou ArrayList com as notas e o nome da disciplina, e um método resultado que imprima as informações de saída conforme definidas anteriormente.
public class Disciplina {
private List<Nota> nota;
private String nome;
public Disciplina(List list, String nome) {
this.nota = list;
this.nome = nome;
}
public void mostrarDados() {
Iterator it = nota.iterator();
while (it.hasNext()) {
Nota nota = (Nota) it.next();
System.out.println("Nome Disciplina : " + nome + "\nNotas : " + nota.getNota());
}
}
}
}
entendi muito obrigada , pode me tirar uma outra duvida? você viu meu codigo quando eu digito as notas ele me retorna somente a menor, poderia me ajuda? na maior ele me da a menor nota e na menor ele me da a menor nota.
Ola beatrizrodrigues3, não vi a fundo seu código mais mas creio que a melhor forma para pegar a maior e menor nota seria fazer uma função que ordene o ArrayList de notas, assim fica mais simples buscar o menor e maior valor.
Apenas complementando a resposta do marcelo.silva.java, sempre que criar um novo construtor não esqueça de criar o construtor padrão, uma vez que o mesmo foi sobrescrito.
Isso é uma boa pratica!
O construtor padrão é um construtor sem parâmetros.
Quando você não especifica o construtor padrão para a sua classe o compilador define um durante a compilação para que a sua classe tenha um entry Point, para que você possa instanciar um objeto do tipo da sua classe.
public class ClasseQualquer{
private String teste;
//construtor padrão ou construtor default
public ClasseQualquer(){
}
//construtor criado para inicializar algum tipo de informação
public ClasseQualquer(String teste){
this.teste= teste;
}
}
A forma que foi exemplificado não esta errada, porem caso você precise apenas instanciar um objeto sem passar nenhum parâmetro o compilador vai chiar!
Quando criamos um construtor para inicializar informações estamos sobrescrevendo o construtor padrão/default. Para não sobrescreve-lo, basta criar um construtor sem parâmetros.
Em outras palavras, você pode definir vários construtores para a mesma classe mas sempre mantenha o construtor padrão.