tenho 3 classes feitas em codigos diferentes e queria fazer uma outra classe que unisse as 3
como eu procedo?
tentei isso
publicclassMatricula{privateintmatricula;publicMatricula(intmatricula)// CONSTRUTOR{this.matricula=matricula;}publicintgetmatricula()// metodo get{returnmatricula;}publicvoidsetmatricula(intmatricula)// metodo set{this.matricula=matricula;}}
publicclassNome{privateStringnome;publicNome(Stringnome)// CONSTRUTOR{this.nome=nome;}publicStringgetnome()// metodo get{returnnome;}publicvoidsetnome(Stringnome)// metodo set{this.nome=nome;}}
de que maneira voce deseja “unir” as classes, para qual finalidade?
seja mais especifico…
G
gustavo.rotondo
esta na descrição do trabalho
fazer um vetor de aluno com matricula, nome, endereço email cada um com sua classe
ia fazer as classes, juntar tudo em uma classe aluno e criar um vetor de aluno
nicolas_dias
crie as classes de matricula, endereco, email, nome, igual voce criou
e na classe aluno faça o seguinte:
publicclassAluno{privateMatriculamatricula;privateNomenome;privateEnderecoend;privateEmailemail;//quando criar um aluno, voce vai passar como parametro suas propriedadespublicAluno(Nomenome,Matriculamatric,Enderecoend,Emailemail){this.nome=nome;this.matricula=matric;this.end=end;this.email=email;}//no Main faça o seguintepublicmainstaticvoid(String[]args){ArrayList<Aluno>alunos=newArrayList<Aluno>();//aqui voce adiciona seus alunos ao array de alunosalunos.add(newAluno("nicolas","767677","são josé do norte, 664","[email removido]"));............}}
mais ou menos isso, não testei, mas acho que é isso que voce precisa
G
gustavo.rotondo
o main que ta ai. vai na classe aluno ou na classe principal? (a minha principal ja tem o main)
B
Bruno_Laturner
main pode ir em qualquer classe.
E se for usar o código acima, só altere ele um pouco para converter de as strings que você está passando para os tipos corretos.
G
gustavo.rotondo
no main do meu principal pra cadastra eu fiz isso
System.out.print("Digite sua matricula \n\n");matricula=Integer.parseInt(input.nextLine());System.out.print("\n");System.out.println("Digite o seu nome \n\n");// NOMEnome=input.nextLine();System.out.print("\n");System.out.print("Digite a data de nascimento \n\n");// DATAdata=input.nextLine();System.out.print("\n");System.out.println("Digite o seu endereço \n\n");// ENDEREÇOend=input.nextLine();System.out.print("\n");System.out.println("Digite o seu email \n\n");// EMAILemail=input.nextLine();System.out.print("\n");alunos.add(newAluno(matricula,nome,data,end,email));i++;break;
não sei se é isso que voce explicou
G
gustavo.rotondo
e as classes do primeiro post estão corretas?
B
Bruno_Laturner
Só falta deixar os gets e sets no estilo do Java “camelCase”. Ou apague eles de uma vez já que não está usando.
G
gustavo.rotondo
esgotaram minhas ideias. fiz desse jeito e nao deu. tireis os gets e não rolou
nicolas_dias
cara ta dando algum tipo de erro?
se ta posta o codigo que ta lançado o erro
nicolas_dias
ta dando proplema pois voce ta atribuindo tipos diferentes as variaveis: ex:
matricula=Integer.parseInt(nextLine());//matricula neste caso deveria receber um objeto do tipo Matricula
não sabia como fazer essa parte de ler a matricula
vou tentar aqui
G
gustavo.rotondo
System.out.print("Digite sua matricula \n\n");matricula=newMatricula(Integer.parseInt(nextLine()));System.out.print("\n");System.out.println("Digite o seu nome \n\n");// NOMEnome=newNome(Integer.parseInt(nextLine()));System.out.print("\n");System.out.print("Digite a data de nascimento \n\n");// DATAdata=newData(Integer.parseInt(nextLine()));System.out.print("\n");System.out.println("Digite o seu endereço \n\n");// ENDEREÇOend=newEnd(Integer.parseInt(nextLine()));System.out.print("\n");System.out.println("Digite o seu email \n\n");// EMAILemail=newEmail(Integer.parseInt(nextLine()));System.out.print("\n");aluno[i]=newAluno(matricula,nome,data,end,email);i++;break;
ficou assim
ai da erro nos new’s e no next. esse do next é o que dava antes de tipo incompativel
e no new da erro de cannot find symbol
G
gustavo.rotondo
tirei os new os erros sumiram
agora
da esses aqui
C:\Users\Gustavo\Desktop\Trab\Cadastro.java:47:cannotfindsymbolsymbol:methodnextLine()location:classCadastroemail=Email(Integer.parseInt(nextLine()));// vi que ta como integer mas em matricula que é int, da erro tambem^C:\Users\Gustavo\Desktop\Trab\Cadastro.java:49:cannotfindsymbolsymbol:constructorAluno(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)location:classAlunoaluno[i]=newAluno(matricula,nome,data,end,email);^
da em matricula, nome, end e data
B
Bruno_Laturner
Gustavo, eu sugiro você rever o teu código, você está forçando a barra sem entender o que está fazendo.
Vamos por partes. Responda estas perguntas para si mesmo enquanto você codifica:
Se eu peço para o usuário digitar a idade dele, qual método uso para obter essa informação do teclado?
Qual o tipo de dado retornado por esse método?
Como converto um número que está como tipo String para um int?
Se eu peço o nome dele, como pego isso do teclado?
Qual o tipo retornado por esse método?
Se eu tiver uma classe Idade, como construo um objeto do tipo Idade passando um int? E passando um String? Posso ter mais de um construtor numa classe?
Se eu tenho um construtor que recebe Matricula e Nome, mas tenho duas Strings, como converto a String para um objeto Matricula, e outra para um objeto Nome, antes de passar para o construtor?
E já tenho um construtor que recebe Matricula e Nome. Como crio outro construtor nessa mesma classe que receba apenas duas Strings? Como converto essas Strings dentro do código desse construtor para um objeto Matricula, e outro objeto do tipo Nome?