2017-06-14 6 views
0

私はJavaを学び始めました。学生と科目を関連付けるためにシンプルなシステムを作ろうとしています。私の問題はどのようにして1人の学生を多くの科目に関連付けることができますか?私。学生と科目へのシンプルなシステムを作成する

メインクラス

package exercicios; 

public class Exercicio3_Main { 

public static void main(String[] args) { 
    //Criando Alunos 
    Exercicio3_Aluno aluno[] = new Exercicio3_Aluno[3]; 
    aluno[0] = new Exercicio3_Aluno("Douglas", "Telematica", 201391); 

    //Criando as Disciplinas 
    Exercicio3_Disciplina disciplina[] = new Exercicio3_Disciplina[7]; 
    disciplina[0] = new Exercicio3_Disciplina("POO"); 

    aluno[0].cadastrarDisciplina(disciplina[0]); 
    //aluno[0].listarAluno(); 
} 
} 

学生クラス

package exercicios; 

import java.util.ArrayList; 

public class Exercicio3_Aluno { 
public String nome; 
public String curso; 
private int matricula; 
private ArrayList<Exercicio3_Disciplina> disciplina; 

public Exercicio3_Aluno(String nome, String curso, int matricula) { 
    super(); 
    this.nome = nome; 
    this.curso = curso; 
    this.matricula = matricula; 
} 

public void listarAluno(){ 
    System.out.println("------------- ALUNO --------------"); 
    System.out.println("Nome: " + this.getNome()); 
    System.out.println("Curso: " + this.getCurso()); 
    System.out.println("Matricula: " + this.getMatricula()); 
    System.out.println("Disciplinas: " + disciplina); 
    System.out.println("----------------------------------"); 
} 

//Metodos Acessores 
public String getNome() { 
    return nome; 
} 
public void setNome(String nome) { 
    this.nome = nome; 
} 
public String getCurso() { 
    return curso; 
} 
public void setCurso(String curso) { 
    this.curso = curso; 
} 
public int getMatricula() { 
    return matricula; 
} 
public void setMatricula(int matricula) { 
    this.matricula = matricula; 
} 

public void cadastrarDisciplina(Exercicio3_Disciplina disciplina){ 
    this.disciplina.add(disciplina); 
} 
} 

科目クラス

package exercicios; 

public class Exercicio3_Disciplina { 
public String nome; 
private float nota1; 
private float nota2; 
private float nota3; 
private float media; 

public Exercicio3_Disciplina(String nome) { 
    super(); 
    this.nome = nome; 
} 

public String getNome() { 
    return nome; 
} 

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

public float getNota1() { 
    return nota1; 
} 

public void setNota1(float nota1) { 
    this.nota1 = nota1; 
} 

public float getNota2() { 
    return nota2; 
} 

public void setNota2(float nota2) { 
    this.nota2 = nota2; 
} 

public float getNota3() { 
    return nota3; 
} 

public void setNota3(float nota3) { 
    this.nota3 = nota3; 
} 

public float getMedia() { 
    return media; 
} 

public void setMedia(float media) { 
    this.media = media; 
} 
} 

このコードの出力は次のようなものです:

ノーム:ダグラス

Curso:TLM

Matrícula:102050

Disciplinas:ProgramaçãoOrientada Objetos

私は必要なもの、私はそれはおそらく非常に簡単です知っているが、私は勉強を始め、学生に多くの科目リストですD

+1

)。 'equals'と' hashCode'をオーバーライドすると、Map > tempMap = new HashMap <>(); ' –

答えて

0

1つの科目の代わりに、受講者に複数の科目が必要なので、受講者クラスにList<Subjects>を使用し、ゲッターとセッターを調整してください。生徒のリストに件名を追加することができます。

あなたは[地図](http://tutorials.jenkov.com/java-collections/map.htmlに見たいと思うかもしれませんサンプルコード

public static void main(String[] args) { 

    //Criando os Alunos 
    Exercicio3_Aluno aluno[] = new Exercicio3_Aluno[3]; 
    aluno[0] = new Exercicio3_Aluno("Douglas", "TLM", 102050); 

    //Criando as Disciplinas 
    Exercicio3_Disciplina disciplina[] = new Exercicio3_Disciplina[7]; 
    disciplina[0] = new Exercicio3_Disciplina("Programação Orientada a Objetos"); 
    disciplina[1] = new Exercicio3_Disciplina("Sistemas Operacionais"); 

    //Mostrando os dados do Aluno 
    aluno[0].cadastrarDisciplina(disciplina[0]); 
    aluno[0].cadastrarDisciplina(disciplina[1]); 
    aluno[0].listaAluno(); 
} 
あなたの学生の方法で

//Lista o Aluno 
public void listaAluno(){ 
    System.out.println("--------- DADOS DO ALUNO --------"); 
    System.out.println("Nome: " + this.nome); 
    System.out.println("Curso: " + this.curso); 
    System.out.println("Matrícula: " + this.matricula); 

    System.out.println("Disciplinas: "); 
    String disciplinasString = ""; 
    for(Exercicio3_Disciplina disciplina : this.disciplinas) 
    { 
     disciplinasString = disciplinasString + disciplina.getNome()); 
    } 
    System.out.println(disciplinasString); 
    System.out.println("---------------------------------"); 
} 
+0

のようなことをすることができます。これを試してみます: publicクラスExercicio3_Aluno { \tプライベートのArrayList disciplina;} 公共ボイドcadastrarDisciplina(Exercicio3_Disciplina disciplina){ \t \t this.disciplina.add(disciplina);}挿入する方法 をメインコード \t \t \t \t Exercicio3_Disciplina disciplina [] =新しいExercicio3_Disciplina [7]; \t \t disciplina [0] =新しいExercicio3_Disciplina( "POO"); \t \t \t \t aluno [0] .cadastrarDisciplina(disciplina [0]); \t \t aluno [0] .listarAluno(); – DouglasNickson

+0

これはちょっと間違っているようですが、私はそれがあなたのための答えに似ていると思うものを追加してみましょう。 –

+0

私のコメントはひどいので、私は私のコードを編集するのが良いと思います。ありがとう – DouglasNickson

関連する問題