Olá pessoal… sou iniciante no java e meu professor me passou um exercicio segue abaixo:
// Criar uma classe chamada computador com as seguintes
//características 3 atributos(coddamaquina,descricaodoprocessador e quantidade em estoque).
//Deve possuir um método construtor que inicializa os atributos.
//Esta classe também possui 2 metodos para exibir seus atributos exibeAtributo.
//O primeiro método não recebe argumentos e nem retorna;
// o segundo método deve ler as informações digitadas pelo usuário,
// associa-las aos atributos da classe e, logo a seguir,exibi-las na tela.
importjava.io.*;publicclassComputador{intcodMaquina;StringdescricaoDoProcessador;doublequantidadeEmEstoque;InputStreamReadert=newInputStreamReader(System.in);BufferedReaderler=newBufferedReader(t);Computador(){System.out.println("METODO VAZIO");}Computador(intx,Stringdescricao,doubley){this.codMaquina=x;this.descricaoDoProcessador=descricao;this.quantidadeEmEstoque=y;}}publicvoidexibeAtributo(intx,Stringdescricao,doubley){Try{System.out.println("Digite o Codigo da Maquina: ");x=Integer.parseInt(ler.readLine());System.out.println("Digite a Descricao do processador: ");descricao=ler.readLine();System.out.println("Digite a Quantidade em Estoque: ");y=Double.parseDouble(ler.readLine());}catch(Exceptione){System.out.println("ERRO NA LEITURA");System.exit(0);}System.out.println("Codigo da maquina: "+codMaquina);System.out.println("Descricao do processador: "+descricaoDoProcessador);System.out.println("Quantidade em estoque: "+quantidadeEmEstoque);}}
minha duvida é a seguinte: não estou conseguindo colocar p/ receber os valores no metodo exibeAtributo… o que estou fazendo de errado??
ps: tem outro programinha com a main p/ pode rodar.
desde ja agradeço
yves
publicvoidexibeAtributo(intx,Stringdescricao,doubley){try{System.out.println("Digite o Codigo da Maquina: ");x=Integer.parseInt(ler.readLine());System.out.println("Digite a Descricao do processador: ");descricao=ler.readLine();System.out.println("Digite a Quantidade em Estoque: ");y=Double.parseDouble(ler.readLine());}catch(Exceptione){System.out.println("ERRO NA LEITURA");System.exit(0);}System.out.println("Codigo da maquina: "+codMaquina);System.out.println("Descricao do processador: "+descricaoDoProcessador);System.out.println("Quantidade em estoque: "+quantidadeEmEstoque);}
vc recebeu 3 atributos…depois sobreescreveu o valor deles…e no final exibiu os atributos da classe q. não foram modificados…
agora…se vc fizesse assim…
publicvoidexibeAtributo(){try{System.out.println("Digite o Codigo da Maquina: ");this.codMaquina=Integer.parseInt(ler.readLine());System.out.println("Digite a Descricao do processador: ");this.descricaoDoProcessador=ler.readLine();System.out.println("Digite a Quantidade em Estoque: ");this.quantidadeEmEstoque=Double.parseDouble(ler.readLine());}catch(Exceptione){System.out.println("ERRO NA LEITURA");System.exit(0);}System.out.println("Codigo da maquina: "+codMaquina);System.out.println("Descricao do processador: "+descricaoDoProcessador);System.out.println("Quantidade em estoque: "+quantidadeEmEstoque);}
vc nao precisa receber argumentos nesse método…pq vc vai digitá-los
vc digita e armazena o valor digitado nos atributos da classe…logo qdo for exeibi-los eles estarão com os valores q. vc digitou…
bom…espero ter ajudado!
t+
Y
yvesfernandesPJ
huhull colocando o segundo bloco de codigo ele compilou sem problemas!!
segue o codigo como está agora
importjava.io.*;publicclassComputador{intcodMaquina;StringdescricaoDoProcessador;doublequantidadeEmEstoque;InputStreamReadert=newInputStreamReader(System.in);BufferedReaderler=newBufferedReader(t);Computador(){System.out.println("METODO VAZIO");}Computador(intx,Stringdescricao,doubley){this.codMaquina=x;this.descricaoDoProcessador=descricao;this.quantidadeEmEstoque=y;}publicvoidexibeAtributo(){try{System.out.println("Digite o Codigo da Maquina: ");this.codMaquina=Integer.parseInt(ler.readLine());System.out.println("Digite a Descricao do processador: ");this.descricaoDoProcessador=ler.readLine();System.out.println("Digite a Quantidade em Estoque: ");this.quantidadeEmEstoque=Double.parseDouble(ler.readLine());}catch(Exceptione){System.out.println("ERRO NA LEITURA");System.exit(0);}System.out.println("Codigo da maquina: "+codMaquina);System.out.println("Descricao do processador: "+descricaoDoProcessador);System.out.println("Quantidade em estoque: "+quantidadeEmEstoque);}}
mass ai vem o seguinte… hahaha
fazendo esse tipo q vc me falou eu nao precisaria dessa classe
O construtor que vc declarou recebe atributos…logo na construção do objeto na main vc tem q. pasar esse atributos…
.....System.out.println("Digite o Codigo da Maquina: ");intcodigo=Integer.parseInt(ler.readLine());System.out.println("Digite a Descricao do processador: ");Stringprocessador=ler.readLine();System.out.println("Digite a Quantidade em Estoque: ");doubleestoque=Double.parseDouble(ler.readLine());Computadorpc=newComputador(codigo,processador,estoque);....
Aqui no site tem a sessão de tutoriais…onde vc pode melhorar os seus conhecimentos…
dá uma olhadinha ali…