Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为学生和科目创建一个简单的系统_Java_Oop - Fatal编程技术网

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

Java 为学生和科目创建一个简单的系统,java,oop,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] =

我开始学习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);
}
}
此代码的输出如下所示:

诺姆:道格拉斯

库索:TLM

马特里库拉:102050

纪律:目标东方计划


我需要的是给学生们列出许多科目,我知道这可能很简单,但我现在开始学习,所有这些对我来说都是新的;D

您希望学生上有多个科目,而不是一个科目,因此在学生课堂上使用
列表
,并调整getter和setter。然后,您可以将科目添加到学生的列表中

示例代码

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

你可能想调查一下。一旦覆盖了
equals
hashCode
,就可以执行类似于
Map tempMap=newhashmap()的操作我试着这么做,我试着这样做:公共类exercio3_Aluno{private ArrayList sticripta;}插入公共无效地籍数据库的方法(exercio3_sticripta sticripta){this.sticripta.add(sticripta);}和主代码exercio3_sticripta[]=new exercio3_sticripta[7];纪律处分[0]=新的纪律处分(“POO”);aluno[0]。地籍学(学科[0]);aluno[0]。listarAluno();这看起来有点错误,让我为你的答案添加我认为应该是什么样子。我的评论很糟糕,所以我编辑了我的代码,我认为最好看看。谢天谢地,这段代码对您有效,我正在猜测语法并试图坚持您的语言。记住将任何事物列表命名为一个倍数,所以最好将其命名为一个列表,而不是一个规则。让我知道进展如何
//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("---------------------------------");
}