Java 为学生和科目创建一个简单的系统
我开始学习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] =
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("---------------------------------");
}