Cadastro utilizando vetor em java

7 respostas
C

Boa noie,
estou com o seguinte problema:
quero fazer um, cadastro de professores, e tenha a seguinte classe:

public class professor {
String nm,end,tel;

professor(String nome,String endereco,String telefone){
nm=nome;
end=endereco;
tel=telefone;
	
}

void Mostra(){
	  System.out.println("Nome:" +nm);
	  System.out.println("Endereco:" +end);
	  System.out.println("Telefone:" +tel);

}

}

e tenho a classe Cadastro abaixo, onde tenho um void incluir() - incluir professores no vetor, na verdade a inclusão de dados que for feita no vetor com os atributos do professor(nome,endereco e telefone) será passado como parametro para a classe professor acima. Depois que a inclusão for feita será incrementado uma posição no vetor para o proximo cadastro. mais não estou conseguindo gerar o código da classe cadastro, veja a classe abaixo,ela está dando erro, se alguem puder me ajudar ficarei grato

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class Cadastro {
void inclui(professor p){

professor p;
p=new professor(String nome,String endereco,String telefone);
	BufferedReader reader;
	reader = new BufferedReader(new InputStreamReader(System.in));

	int i, x=0, t,y;
	int[] v;
	try {
		v = new int[100];
		
			System.out.print("Digite o Nome: ");
			nome = reader.readLine();
			i = Integer.parseInt(nome);
			v[x]=i;
			
			System.out.print("Digite o endereco: ");
			endereco = reader.readLine();
			i = Integer.parseInt(endereco);
			v[x]=i;
		
			System.out.print("Digite o telefone: ");
			telefone = reader.readLine();
			i = Integer.parseInt(telefone);
			v[x]= i;
			
			v[x]=v[x] + 1;
			
		
	} catch (IOException e) {
		e.printStackTrace();
	}

	
}

}

7 Respostas

diego2005

Cara, olha o que você está fazendo:

System.out.print("Digite o Nome: "); nome = reader.readLine(); i = Integer.parseInt(nome); v[x]=i;

Você ta lendo texto:

nome = reader.readLine();

E ta tentando transformar pra número:

i = Integer.parseInt(nome);

Esse é o erro…

C

Diego valeu pela resposta, fiz o que vc falou, realmente estava lendo um texto e passando para inteiro. Veja o código abaixo:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;
public class Cadastro {

void inclui(professor p) {

String nome = null, endereco = null, telefone = null;

professor p;

p = new professor(nome, endereco, telefone);

BufferedReader reader;

reader = new BufferedReader(new InputStreamReader(System.in));
int x = 0;
	String[] v;
	try {
		v = new String[100];

		System.out.print("Digite o Nome: ");
		nome = reader.readLine();
		v[x] = nome;

		System.out.print("Digite o endereco: ");
		endereco = reader.readLine();
		v[x] = endereco;

		System.out.print("Digite o telefone: ");
		telefone = reader.readLine();
		v[x] = telefone;

		v[x] = v[x] + 1;

	} catch (IOException e) {
		e.printStackTrace();
	}

}

}

Ainda está dando erro na linha em negrito, já tentei de tudo e não deu certo. se alguem puder me ajudar!!!

diego2005

Cade a linha em negrito?? Por acaso é essa:

v[x] = v[x] + 1;

C

não é a linha abaixo:
professor p;

diego2005

É que sua função já tem um parametro do tipo professor chamado p, e dentro da função você declara outro professor chamado p. Mude o nome do parâmetro ou do que você declara dentro do método.

Só uma dica, o nome da sua classe é professor, por conversão, use a primeira letra do nome da classe como maiúscula, assim: Professor.

Você também tem um método chamado Mostra, aqui já é o contrário, use minúscula, assim: mostra.

T+

C

Valeu Diego o que voce falou deu certo, brigadão pelas dicas ai!!!
Estou começando agora no java, tenho outra duvida. Tenho um cadastro de Professor, cada professor terá os atributos de nome,endereco e telefone, quero guardar cada cadastro de professor em uma posição do vetor, mais minha duvida é a seguinte, os professores terão os atributos nome,endereco e telefone e desejo guardar os tres atributos em cada posição do vetor.

[b]Ex:
Vetor[0] - Nome: Marcelo, End: Rua 2, Tel: 4648 4946
Vetor[1] - Nome: Sergio, End: Rua 54, Tel: 4444 6644

Existe essa possibilidade? de guardar cada professor e seus atributos em cada posição do vetor??[/b]
Se alguem puder me ajudar!!!
Abraços…

diego2005

Cara, pra facilitar, você pode fazer um vetor de professores, assim:

Professor p = new Professor[100];

Ai quando você for cadastrar um novo professor, você faz assim:

p[x] = new Professor(); p[x].nome = nomeProfessor; p[x].telefone = telProfessor; x++;

E assim vai, entendeu???

Criado 20 de outubro de 2006
Ultima resposta 21 de out. de 2006
Respostas 7
Participantes 2