为学生和科目创建一个简单的系统

时间:2017-06-14 21:26:24

标签: java oop

我开始学习java,我尝试用一​​个简单的系统来关联学生和科目,我的问题是如何将一个学生与多个科目联系起来,我希望你能帮助我。

主类

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çãoOrientadaa Objetos

我需要的是向学生列出许多科目,我知道这可能很简单,但我现在开始研究这一切,这对我来说都是新的; D

1 个答案:

答案 0 :(得分:0)

您需要学生上的多个科目,而不是一个科目,因此请在学生班级上使用List<Subjects>,并调整吸气剂和制定者。然后,您可以将主题添加到学生的列表中。

示例代码

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("---------------------------------");
}