Dúvida List<String>

1 resposta
H

Boa tarde, amigos.

Sou novato aqui, e me cadastrei com o objetivo de sanar uma dúvida. Estou passando uma List entre duas classes (códigos abaixo), e atribuindo os dados a uma nova List. Entretanto, a passagem aparentemente não está ocorrendo.

Vejam os códigos:

import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;


public class CadastroProfessores {
	private String a;
    private float b;
    private int c,d,e;
    private Professores prof= new Professores();
    private List<String> matricula= new ArrayList<String> ();
    private List<String> nome= new ArrayList<String> ();
    private List<String> rg= new ArrayList<String> ();
    private List<String> cpf= new ArrayList<String> ();
    private List<Float>  salario= new ArrayList<Float> ();
    private List<Integer> dia_a= new ArrayList<Integer> ();
    private List<Integer> mes_a= new ArrayList<Integer> ();
    private List<Integer> ano_a= new ArrayList<Integer> ();
    Scanner in= new Scanner(System.in);
    
    public void insere(){
                      for(d=0;d<999;d++){
        	   		                          
        	   		   System.out.print("Digite a matricula do professor: ");
                       a= in.next();
                       prof.setMatricula(a);
                       matricula.add(d, a);
                      
                       System.out.print("Digite o nome do professor: ");
                       a= in.next();
                       prof.setNome(a);
                       nome.add(d, a);
                      
                       System.out.print("Digite o RG do professor: ");
                       a= in.next();
                       prof.setRg(a);
                       rg.add(d, a);
                      
                       System.out.print("Digite o CPF do professor: ");
                       a= in.next();
                       prof.setCpf(a);
                       cpf.add(d, a);
                      
                       System.out.print("Digite o salário do professor: ");
                       b= in.nextFloat();
                       if(b<510){				 
                 		  do{
                              System.out.print("Este valor é menor que o salário mínimo. Digite vencimentos iguais ou superiores a R$510,00: ");
                              b=in.nextFloat();
                 						 }while(b<510);
                            }
                       prof.setSalario(b);
                       salario.add(d, b);
                 
                       System.out.print("Digite o ano da admissão do professor: ");
                       c= in.nextInt();
                       if(c<1970){
                    	   do{
                    		   System.out.print("Ano inválido! Por favor, digite novamente: ");
                    		   c= in.nextInt();
                    				 }while(c<1970);			 
                    				}
                       prof.setAno_a(c);
                       ano_a.add(d,c);
                 
                       System.out.print("Digite o mês da admissão do professor: ");
                       e= in.nextInt();
                       if(e<1||e>12){
                    	   do{
                    		   System.out.print("Este não é um mês válido! Digite um mês no intervalo de 1 a 12: ");
                    		   e= in.nextInt();
                 					}while(e<1||e>12);
                 			  	}
                       prof.setMes_a(e);
                       mes_a.add(d, e);
                
                       System.out.print("Digite o dia da admissão do professor: ");
                       e= in.nextInt();
                       if(e<1||e>31){
                    	   do{
                    		   System.out.print("Este não é um dia válido! Digite um dia entre 1 e 31");
                    		   e= in.nextInt();
                    					}while(e<1||e>31);
                    					}
                       if(mes_a.get(d)==2&&e>28||mes_a.get(d)==4&&e>30||mes_a.get(d)==6&&e>30||mes_a.get(d)==9&&e>30||mes_a.get(d)==11&&e>30){
                    	   do{
                    		   System.out.print("Incompatibilidade entre dia e mês de admissão! Verifique os dados e digite novamente: ");
                    		   e= in.nextInt();
                    	   }while(mes_a.get(d)==2&&e>28||mes_a.get(d)==4&&e>30||mes_a.get(d)==6&&e>30||mes_a.get(d)==9&&e>30||mes_a.get(d)==11&&e>30);
                 																															 }
                       prof.setDia_a(e);
                       dia_a.add(d, e);
                   
                       System.out.print("Deseja cadastrar outros professores? S para sim; N para não: ");
                       a= in.next();
                       if(a.equals("N")){
                           d=999;

                                         }
                       					  }
                         }
    public void altera(){
    	System.out.print("Digite a matrícula do professor: ");
    	a= in.next();
    	if(matricula.contains(a)){
    		d= matricula.indexOf(a);
    		System.out.print("Digite o nome do professor: ");
            a= in.next();
            nome.add(d, a);
           
            System.out.print("Digite o RG do professor: ");
            a= in.next();
            rg.add(d, a);
           
            System.out.print("Digite o CPF do professor: ");
            a= in.next();
            cpf.add(d, a);
           
            System.out.print("Digite o salário do professor: ");
            b= in.nextFloat();
            if(b<510){				 
       		  do{
                    System.out.print("Este valor é menor que o salário mínimo. Digite vencimentos iguais ou superiores a R$510,00: ");
                    b=in.nextFloat();
       						 }while(b<510);
                  }
             salario.add(d, b);
            
            System.out.print("Digite o ano da admissão do professor: ");
            c= in.nextInt();
            if(c<1970){
         	   do{
         		   System.out.print("Ano inválido! Por favor, digite novamente: ");
         		   c= in.nextInt();
         				 }while(c<1970);			 
         				}
            ano_a.add(d,c);
      
            System.out.print("Digite o mês da admissão do professor: ");
            e= in.nextInt();
            if(e<1||e>12){
         	   do{
         		   System.out.print("Este não é um mês válido! Digite um mês no intervalo de 1 a 12: ");
         		   e= in.nextInt();
      					}while(e<1||e>12);
      			  	}
            mes_a.add(d, e);
     
            System.out.print("Digite o dia da admissão do professor: ");
            e= in.nextInt();
            if(e<1||e>31){
         	   do{
         		   System.out.print("Este não é um dia válido! Digite um dia entre 1 e 31");
         		   e= in.nextInt();
         					}while(e<1||e>31);
         					}
            if(mes_a.get(d)==2&&e>28||mes_a.get(d)==4&&e>30||mes_a.get(d)==6&&e>30||mes_a.get(d)==9&&e>30||mes_a.get(d)==11&&e>30){
         	   do{
         		   System.out.print("Incompatibilidade entre dia e mês de admissão! Verifique os dados e digite novamente: ");
         		   e= in.nextInt();
         	   }while(mes_a.get(d)==2&&e>28||mes_a.get(d)==4&&e>30||mes_a.get(d)==6&&e>30||mes_a.get(d)==9&&e>30||mes_a.get(d)==11&&e>30);
      		dia_a.add(d, e);
    							}
    	else{
    		System.out.print("\nNão há nenhum professor cadastrado com esta matrícula!");
    		}
    	}
    	
    }
    
   
    public void lista(){
    	for(d=0; d<matricula.size();d++){
    	System.out.print("\nLista dos dados de todos os professores cadastrados no sistema: ");
    	System.out.print("\nMatricula: " + matricula.get(d) + "\nNome: " + nome.get(d) + "\nRG: " + rg.get(d) + "\nCPF: " + cpf.get(d) + "\nSalário: R$ " + salario.get(d) + "\nData de admissão: " + dia_a.get(d) + "/" + mes_a.get(d) + "/" + ano_a.get(d) + " .");
    									 }
    					}
    public void pesquisa(){
    	System.out.print("Digite a matricula do professor: ");
    	a= in.next();
    	if(matricula.contains(a)){
    		d= matricula.indexOf(a);
    		System.out.print("\nMatricula: " + matricula.get(d) + "\nNome: " + nome.get(d) + "\nRG: " + rg.get(d) + "\nCPF: " + cpf.get(d) + "\nSalário: R$ " + salario.get(d) + "\nData de admissão: " + dia_a.get(d) + "/" + mes_a.get(d) + "/" + ano_a.get(d) + " .");    	
    							  }
    	else{
    		System.out.print("\nMatricula não cadastrada no sistema!");
    	}
    						}
    
    public void passagem (){
    		Modalidades mod = new Modalidades();
    		mod.instanciaMat(matricula);
    		mod.instanciaNom(nome);
    						}
    
    
    }
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class Modalidades {
	private int c, i;
	private String d,n;
	private float v;
	Scanner in= new Scanner(System.in);
	CadastroProfessores matr= new CadastroProfessores();
	private List<String> codigo= new ArrayList<String> ();
	private List<String> descricao= new ArrayList<String> ();
	private List<Float> valor= new ArrayList<Float> ();
	private List<String> matricula= new ArrayList<String> ();
	private List<String> nome= new ArrayList<String> ();
	private List<String> matricula_cad= new ArrayList<String> ();
	private List<String> nome_cad= new ArrayList<String> ();
	
	public void instanciaMat(List<String> mat){
		for(c=0; c< mat.size(); c++){
			d= mat.get(c);
			matricula.add(c, d);
									 }
										    }
	
	public void instanciaNom(List<String>  nom){
		for(c=0; c< nom.size(); c++){
			d= nom.get(c);
			nome.add(c, d);
									 }
											}
		
	public void insere(){
		matr.passagem();
		for(c=0;c<999;c++){
		System.out.print("Digite o codigo da modalidade: ");
		d= in.next();
		codigo.add(c, d);
		
		System.out.print("Digite a descrição da modalidade: ");
		d= in.next();
		descricao.add(c, d);
		
		System.out.print("Digite o valor da modalidade: ");
		v= in.nextFloat();
		valor.add(c, v);
		
		System.out.print("Cadastre o professor responsável por esta modalidade, digitando sua matricula: ");
		d=in.next();
		if(matricula.contains(d)){
			i= matricula.indexOf(d);
			n= nome.get(i);
			matricula_cad.add(c, d);
			nome_cad.add(c, n);
							}
		else{
			System.out.print("\nProfessor não cadastrado no sistema!");
			 }
		
		System.out.print("\nDeseja cadastrar mais modalidades? S para sim, N para não: ");
		d= in.next();
		if (d.equals("N")){
			c=999;
							}
		}
		
		
		}
	
	
	}

Por favor, me ajudem a encontrar e sanar o erro.

Muito obrigado!!

1 Resposta

ViniGodoy

Poderia editar o post acima e deixar só a parte relevante do código?

Aliás, onde você está fazendo a passagem?

Criado 12 de outubro de 2010
Ultima resposta 12 de out. de 2010
Respostas 1
Participantes 2