Por exemplo tenho 3 classes, uma principal, uma chmada Turma e outro BancoTurma. Em turma são declaradas as variaveis que o BancoTurma vai utilizoar para armazenar o cadastro do ArrayList, detalhe nessas duas, a minha professora ordenou que não podemos utilizar System.out.print. Na classe principal sao executados os cadastros de turma, cadastros de alunos na turma e cadastro de 1 professor na turma, isso tudo em uma opção só. Logo apos devo exibir todos alunos de uma vez só que estao cadastrados na turma. Como vou exibir só a parte alunos do arraylist?
Digamos que você queira mostrar o Arraylist inteiro. Se não pode usar System.out.print, vai usar que coisa? Só para ver se você está conseguindo começar a resolver os problemas.
(Comece com o problema mais simples e depois vá complicando)
Como assim cara?
@Dario Ribeiro
Cara, seria melhor você explicar de forma mais clara a sua dúvida e postar código das suas classes para que possamos ver como seu sistema tá funcionando e assim podemos ajudar de uma forma mais eficiente.
Seria mas fácil voce postar o codigo que tem, pois como estão armazenados os objetos no ArrayList?
BancoTurma é responsável por armazenar a Turma e os Alunos?
Fica difícil responder sua dúvida por não da para saber como está a estrutura dos objetos, e como estão armazenados no Array, se puder explanar isso, com o código melhor.
Bom OK
[code]import java.util.ArrayList;
public class BancoAluno {
ArrayList<Aluno> aluno = new ArrayList();
public void cadastrarAluno(Aluno cadastro) {
aluno.add(cadastro);
}
public Aluno alterarAluno(Aluno result, String nome, String cpf, String endereco) {
result.setNome(nome);
result.setCPF(cpf);
result.setEndereco(endereco);
return result;
}
public Aluno pesquisarAluno(String nome) {
if(aluno.isEmpty()==true){
return null;
}
else{
for (int i = 0; i <= aluno.size(); i++) {
Aluno result = aluno.get(i);
if (result.getNome().equals(nome)) {
return result;
}
}
return null;
}
}
public void ExcluirAluno(Aluno pos) {
aluno.remove(pos);
}
}
[/code]
import java.util.ArrayList;
public class Turma{
public String professores, disciplina, curso,alunos;
public Turma(){
alunos="";
professores="";
disciplina="";
curso="";
}
public void setProfessores(String professores){
this.professores=professores;
}
public String getDisciplina(){
return this.disciplina;
}
public void setAlunos(String alunos){
this.alunos=alunos;
}
public String getAlunos(){
return this.alunos;
}
public void setDisciplina(String disciplina){
this.disciplina=disciplina;
}
public String getCurso(){
return this.curso;
}
public void setCurso(String curso){
this.curso=curso;
}
}
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
BancoAluno bancoA = new BancoAluno();
BancoProfessor bancoP = new BancoProfessor();
BancoTurma bancoT= new BancoTurma();
Scanner recebe = new Scanner(System.in);
int cont = 0;
do {
System.out.println("1-Cadastrar aluno");
System.out.println("2-Pesquisar aluno");
System.out.println("3-Excluir aluno");
System.out.println("4-Alterar cadastro de aluno");
System.out.println("5-Cadastrar professor");
System.out.println("6-Pesquisar Professor");
System.out.println("7-Excluir professor");
System.out.println("8-Alterar cadastro de professor");
System.out.println("9-Montar turma");
System.out.println("10-Listar Alunos de turma");
System.out.println("11-Listar turmas do professor");
System.out.println("12-Sair");
System.out.println("Insira um numero: ");
cont=recebe.nextInt();
switch (cont) {
case 1:
Aluno aluno = new Aluno();
System.out.println("\fInsira Nome:");
aluno.setNome(recebe.next());
System.out.println("Insira seu endereço: ");
aluno.setEndereco(recebe.next());
System.out.println("Insira CPF:");
aluno.setCPF(recebe.next());
bancoA.cadastrarAluno(aluno);
System.out.println("Cadastro concluido!");
break;
case 2:
System.out.println("\fInsira o nome:");
String nome = recebe.next();
Aluno result = bancoA.pesquisarAluno(nome);
if (result == null) {
System.out.println("Aluno não existente");
} else {
System.out.println("Nome:"+ result.nome + "\nEndereço: " + result.endereco + "\nCpf:" + result.CPF);
bancoA.pesquisarAluno(nome);
}
break;
case 3:
System.out.println("\fInsira o nome:");
nome = recebe.next();
result = bancoA.pesquisarAluno(nome);
if (result == null) {
System.out.println("Aluno não existente");
} else {
bancoA.ExcluirAluno(result);
System.out.println("Excluido com sucesso !");
}
break;
case 4:
System.out.println("Digite o nome:");
result = bancoA.pesquisarAluno(recebe.next());
if(result==null){
System.out.println("Aluno não encontrado");
}
else{
System.out.println("\fNome: ");
nome=recebe.next();
System.out.println("Endereço: ");
String endereco=recebe.next();
System.out.println("CPF:");
String cpf = recebe.next();
bancoA.alterarAluno(result,nome, cpf, endereco);
}
break;
case 5:
Professor prof = new Professor();
System.out.println("\fInsira Nome:");
prof.setNome(recebe.next());
System.out.println("Insira a formação do professor: ");
prof.setFormacao(recebe.next());
System.out.println("Insira CPF:");
prof.setCPF(recebe.next());
bancoP.cadastrarProfessor(prof);
System.out.println("Cadastro concluido!");
break;
case 6:
System.out.println("\fInsira o nome:");
String nome2 =recebe.next();
Professor result2 = bancoP.pesquisarProfessor(nome2);
if (result2 == null) {
System.out.println("Professor não existente");
} else {
System.out.println("Nome:"+ result2.nome + "\nFormação: " + result2.formacao + "\nCpf:" + result2.CPF);
bancoP.pesquisarProfessor(nome2);
}
break;
case 7:
System.out.println("\fInsira o nome:");
nome2 = recebe.next();
result2 = bancoP.pesquisarProfessor(nome2);
if (result2 == null) {
System.out.println("Professor não existente");
} else {
bancoP.ExcluirProfessor(result2);
System.out.println("Excluido com sucesso !");
}
break;
case 8:
System.out.println("Digite o nome:");
result2 = bancoP.pesquisarProfessor(recebe.next());
if(result2==null){
System.out.println("Aluno não encontrado");
}
else{
System.out.println("\fNome: ");
nome=recebe.next();
System.out.println("Formação: ");
String formacao=recebe.next();
System.out.println("CPF:");
String cpf = recebe.next();
bancoP.alterarProfessor(result2, nome, cpf, formacao);
}
break;
case 9:
int quantitade = 0;
Turma turma = new Turma();
int cont2=0;
System.out.println("Digite a disciplina desta turma:");
turma.setDisciplina(recebe.next());
System.out.println("\fInsira quantidade de alunos da turma:");
int quantidade = recebe.nextInt();
do{
System.out.println("Insira o nome do aluno:");
nome = recebe.next();
result = bancoA.pesquisarAluno(nome);
nomeAlunos.
if (result == null) {
System.out.println("Aluno não existente");
} else {
System.out.println("Nome:"+ result.nome +" foi adicionado à turma");
}
cont2++;
}while(cont2!=quantidade);
System.out.println("\fInsira o nome do professor:");
nome2 =recebe.next();
result2 = bancoP.pesquisarProfessor(nome2);
if (result2 == null) {
System.out.println("Professor não existente");
} else {
System.out.println("Professor "+ result2.nome+" foi adicionado à turma.");
turma.setProfessores(nome2);
}
bancoT.montarTurma(turma);
break;
case 10:
System.out.println("\fInsira a disciplina da turma: ");
String disciplina = recebe.next();
Turma result3 = bancoT.ListarAlunos(disciplina);
if (result3== null) {
System.out.println("Alunos não existentes ");
} else {
bancoT.ListarAlunos(disciplina);
System.out.println("Nome:"+ result3.get);
}
break;
}
} while (cont != 0);
}
}
Eis ai meus códigos amigos, só que tipo a principal não funciona pras demais classses somente pra turma nesta duvida, minha duvida ta em como exibir apenas os alunos cadastrados ali…
Veja, primeiro tem que arrumar esses objetos…
Professores ta como String? não seria uma Lista?
Veja, tem que projetar suas classes, inicialmente veja que uma turma tem alunos, então tem uma lista de alunos em turma, a turma tem mais de um professor, então
turma também tem uma lista de professores, eu não usaria essa classe BancoAlunos, mas se voce quiser usar, então tem que pensar assim na hora de montar:
Uma turma tem um BancoAlunos
Uma turma tem um BancoProfessores
Uma instituição tem um BancoTurmas --> aqui veja que ta estranho, seria melhor uma turma tem um curso, tem um periodo, tem um especificador(Turma A) por exemplo…
Mas se fossemos somente para efeito didático resolver seu problema, acredito que um ArrayList de turmas resolveria seu caso, desta forma voce faria um for no Array de turmas, então de cada turma pegaria o array de alunos, e também o array de professores, e também percorria essas listas entendeu?
Para exibir só a parte dos alunos do array? coloca na classe turma o método getNomeAluno(), faz um laço for para durar até a variavel de incrementação ser menor do que o tamanho do array, e no laço um comando nomeDoArray.get(variaveDeIncremento).getNomeAluno