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:
[code]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 matricula= new ArrayList ();
private List nome= new ArrayList ();
private List rg= new ArrayList ();
private List cpf= new ArrayList ();
private List salario= new ArrayList ();
private List dia_a= new ArrayList ();
private List mes_a= new ArrayList ();
private List ano_a= new ArrayList ();
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);
}
}
[/code]
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!!