tenho 3 classes feitas em codigos diferentes e queria fazer uma outra classe que unisse as 3
como eu procedo?
tentei isso
[code]public class Matricula
{
private int matricula;
public Matricula (int matricula) // CONSTRUTOR
{
this.matricula=matricula;
}
public int getmatricula() // metodo get
{
return matricula;
}
public void setmatricula (int matricula) // metodo set
{
this.matricula = matricula;
}
}
[/code]
public class Nome
{
private String nome;
public Nome (String nome) // CONSTRUTOR
{
this.nome=nome;
}
public String getnome() // metodo get
{
return nome;
}
public void setnome(String nome) // metodo set
{
this.nome = nome;
}
}
aqui estão duas classes, e na de juntar fiz isso
public class Aluno
{
Matricula matricula = new Matricula(getmatricula);
Nome nome = new Nome();
}
de que maneira voce deseja “unir” as classes, para qual finalidade?
seja mais especifico…
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
crie as classes de matricula, endereco, email, nome, igual voce criou
e na classe aluno faça o seguinte:
public class Aluno{
private Matricula matricula;
private Nome nome;
private Endereco end;
private Email email;
//quando criar um aluno, voce vai passar como parametro suas propriedades
public Aluno(Nome nome, Matricula matric, Endereco end, Email email ){
this.nome = nome;
this.matricula = matric;
this.end = end;
this.email = email;
}
//no Main faça o seguinte
public main static void(String [] args){
ArrayList<Aluno> alunos = new ArrayList<Aluno>();
//aqui voce adiciona seus alunos ao array de alunos
alunos.add(new Aluno("nicolas", "767677", "são josé do norte, 664", "ndias@presidency.com"));
......
....
..
}
}
mais ou menos isso, não testei, mas acho que é isso que voce precisa
o main que ta ai. vai na classe aluno ou na classe principal? (a minha principal ja tem o main)
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.
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"); // NOME
nome = input.nextLine();
System.out.print("\n");
System.out.print("Digite a data de nascimento \n\n"); // DATA
data = input.nextLine();
System.out.print("\n");
System.out.println("Digite o seu endereço \n\n"); // ENDEREÇO
end = input.nextLine();
System.out.print("\n");
System.out.println("Digite o seu email \n\n"); // EMAIL
email = input.nextLine();
System.out.print("\n");
alunos.add(new Aluno(matricula, nome, data, end, email));
i++;
break;
não sei se é isso que voce explicou
e as classes do primeiro post estão corretas?
Só falta deixar os gets e sets no estilo do Java “camelCase”. Ou apague eles de uma vez já que não está usando.
esgotaram minhas ideias. fiz desse jeito e nao deu. tireis os gets e não rolou
cara ta dando algum tipo de erro?
se ta posta o codigo que ta lançado o erro
ta dando proplema pois voce ta atribuindo tipos diferentes as variaveis: ex:
[code]matricula = Integer.parseInt(nextLine());//matricula neste caso deveria receber um objeto do tipo Matricula
[/code]
deveria ser assim:
matricula = new Matricula( Integer.parseInt(nextLine()))
voce deve fazer isto com todos objetos
entendeu?
era exatamente isso que eu tava em duvida!
não sabia como fazer essa parte de ler a matricula
vou tentar aqui
System.out.print("Digite sua matricula \n\n");
matricula = new Matricula( Integer.parseInt(nextLine()));
System.out.print("\n");
System.out.println("Digite o seu nome \n\n"); // NOME
nome = new Nome( Integer.parseInt(nextLine()));
System.out.print("\n");
System.out.print("Digite a data de nascimento \n\n"); // DATA
data = new Data( Integer.parseInt(nextLine()));
System.out.print("\n");
System.out.println("Digite o seu endereço \n\n"); // ENDEREÇO
end = new End( Integer.parseInt(nextLine()));
System.out.print("\n");
System.out.println("Digite o seu email \n\n"); // EMAIL
email = new Email( Integer.parseInt(nextLine()));
System.out.print("\n");
aluno[i] = new Aluno( 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
tirei os new os erros sumiram
agora
da esses aqui
C:\Users\Gustavo\Desktop\Trab\Cadastro.java:47: cannot find symbol
symbol : method nextLine()
location: class Cadastro
email = 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: cannot find symbol
symbol : constructor Aluno(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
location: class Aluno
aluno[i] = new Aluno( matricula,nome,data,end,email);
^
da em matricula, nome, end e data
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?