BOA NOITE,
bom, eu ainda estou caminhado em Java.Esse exercicio abaixo esta no Livro do Deitel. cap 3, exercicio 3.13.
consgui fazer a classe que ele pede,porem ele tambem pede para que eu faca um aplicativo q eu possa usar essa classe.
gostaria de saber se agluem poderia me dar um exemplo de aplciativo que possa usar a classe criada.
durante os estudos tirei como conclusao que as classes que criamos sao as resposaveis por tudo o que o prog principal tem que realizar,
se alguem puder tb fornecer algumas dicas ou fontes de dicas um pouco mais claras que a do livro, tb agradeco.
um forte abraço.
publicclassEx313{privateStringNumero;privateStringDescricao;privateintquantidade;privatedoublepreco;// construtor inicializa as variaveispublicEx313(Stringnproduto,Stringdescproduto,intqtd,doublevalor){Numero=nproduto;Descricao=descproduto;quantidade=qtd;preco=valor;}// termina construtor// método para configurar inicializar as variaveispublicvoidsetNUMERO(Stringnproduto){Numero=nproduto;// }// termina o método publicvoidsetDESCRICAO(Stringdescproduto){Descricao=descproduto;}publicvoidsetQTD(intqtd){quantidade=qtd;}publicvoidsetVALOR(Doublevalor){preco=valor;}// método para recuperar publicStringgetNUMERO(){returnNumero;}// termina o método publicStringgetDESCRICAO(){returnDescricao;}publicintgetQTD(){returnquantidade;}publicDoublegetVALOR(){returnpreco;}publicDoublegetCalcula(intqtd,Doublevalor){Doublefat=0.0;fat=qtd*valor;if(fat<0){fat=0.0;}if(valor<0){valor=0.0;}returnfat;}/}// fim da classe
Bem, não tudo tudo, cada classe tem a sua própria e pequeníssima responsabilidade, o programa principal só faz o favor de chamar essas classes e orquestrá-las pra fazer funcionar. Geralmente o programa principal chama outras classes ajudantes, e cada uma delas cuida do seu setor, e orquestra suas próprias classes.
Sobre o programa, pode fazer alguma coisa bem simples em console/prompt mesmo, pode procurar aqui no GUJ mesmo ou no Google sobre “tutorial java console”. Deve achar.
Obs: O que mais recomendo mesmo é você ler é o Java Code Convention, te facilitará muito a vida, e vai precisar no futuro.
Tonny_Stark
meu amigo, fui ate os links, porem ainda nao consegui visualizar oq eu posso fazer com a classe.
gostaria de ver um aplciativo instanciando essa classe, para que eu possa saber como se faz. estou aqui com um monte de apostilas do Apostilando abertas,masi o livro do Deitel, mas ta dificil.
quem puder dar uma ajuda…
um garnde abraço.
Diego_Fontenele
publicstaticvoidmain(String[]args){Ex313item=newEx313("Prego","Aço inoxidavel",300,1.00);// aqui vc está instanciando um objeto!!! ITEM da CLASSE Ex313//Voce pode manipular o valor no objeto criado assim:item.setDESCRICAO("Aço inoxidavel e Sem cabeça");System.out.println("A descrição do produto eh "+item.getDESCRICAO());}}
É isso ai,
se não for essa sua duvida posta ai!!!
flwwww!
Diego_Fontenele
uma dica Tonny Stark,
quando vc criar um metodo em sua classe tipo:
Esse método getCalcula pode ser utilizado num processamento de pedidos de venda.
Vc pode criar uma classe Pedido:
publicclassPedido{privateintnumeroPedido;privateEx313produto;privateDoublevalorTotalPedido;// Getters e Setters aquipublicvoidfecha(Ex313produto,intquantidade){this.produto=produto;doublevalorProduto=produto.getValor();this.valorTotalPedido=produto.getCalcula(intquantidade,doublevalorProduto);this.numeroPedido=Math.random();// aqui dá pra colocar alguma lógica pra auto-gerar um valor para pedido}
Uma outra dica também. Para nomes de métodos, procure usar uma convenção: “nomeDoMetodo”, onde cada palavra após a primeira inicia-se com a letra maiuscula.
Não escreva “getVALOR”, mas “getValor”. Porém é uma dica, use oq vc achar melhor.
O mesmo para variáveis.
Certo ou errado pessoal?
[]´s
Tonny_Stark
bom,em primeiro lugar,muito obrigado pelas dicas.
ontem durante a noite e hj pela manha,consgui fazer esse Main,porem, nao estou conseguindo usar o metodo Calcula.
ele so imprime o que ja esta no main.
uma pergunta:
nesse prog q eu fiz, as informacoes ja estao nele (“01”,“BORRACHA”,25,1.5);como faco para q as informacoes sejam dadas pelo usuario?
com certeza o que eu vou falar agora sera uma besteirra, mas ainda esta dificil entrar na caberca ver como a criacao de uma classe com os metodos pode ser util ao pro principal.
um grande abç
importjava.util.Scanner;publicclassEx313Teste{// método main inicia a execução do programapublicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);Ex313exercicio=newEx313("01","BORRACHA",25,1.5);//instanciando o objeto Ex313System.out.printf("O codigo do produto e:%s\n",exercicio.getNUMERO());System.out.printf("digite o nome do produto%s\n",exercicio.getDESCRICAO());System.out.printf("digite a quatidade %s\n",exercicio.getQTD());System.out.printf("o valor e:%s\n",exercicio.getVALOR());// Double Ex313.Calcula(25,1.5);// System.out.println("o valor total e :%s\n",(exercicio.Calcula(quantidade,preco)));//Double resultado = Calcula(25,1.5);//System.out.printf("o valor total e :%s\n",+fat);}}
leandronsp
Antes de instanciar a classe Ex313, vc pode pegar os valores do teclado atraves de um JOptionPane de uma forma bem simples (isso é mto simples mesmo).
Exemplo:
// Antes do nome da classe, importar javax.swing.*Stringdescri=JOptionPane.showInputDialog("Digite a descrição do produto");doublevalor=Double.parseDouble(JOptionPane.showInputDialog("Digite o valor: "));// Faz o mesmo com outras variaveisEx313exercicio=newEx313(numero,descri,qtd,valor);// Imprime os valores na tela
Tonny_Stark
bom,tentei usar o metodo Calcula,mas aparece a msg erro
cannot find symbol method Calcula(int,double)
o q estou fazendo de errado?
importjava.util.Scanner;publicclassEx313Teste{// método main inicia a execução do programapublicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);Ex313exercicio=newEx313("01","BORRACHA",25,1.5);//instanciando o objeto Ex313System.out.printf("O codigo do produto e:%s\n",exercicio.getNUMERO());System.out.printf("digite o nome do produto%s\n",exercicio.getDESCRICAO());System.out.printf("digite a quatidade %s\n",exercicio.getQTD());System.out.printf("o valor e:%s\n",exercicio.getVALOR());intres=Calcula(15,3.0);//instanciando o met Calcula com parametrosSystem.out.println("\no valor total e :"+res);}}
leandronsp
Lembro que no seu primeiro post o método calcula era assinado assim:
publicDoublegetCalcula(intqtd,Doublevalor);
Logo, vc deve utilizar uma variavel do tipo double.
Dica: Não use letra maiuscula no início da assinatura do metodo: mantenha o getCalcula inicial, como no primeiro post
double res = exercicio.getCalcula(15,3.0);
Tonny_Stark
ALELUIA…FUNCIONOU O METODO getCalcula…
agora eu vou tentar fazer com o usuario digitando a entrada…
vlw…
importjava.util.Scanner;publicclassEx313Teste{// método main inicia a execução do programapublicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);Ex313exercicio=newEx313("01","BORRACHA",25,1.5);//instanciando o objeto Ex313System.out.printf("O codigo do produto e:%s\n",exercicio.getNUMERO());System.out.printf("digite o nome do produto%s\n",exercicio.getDESCRICAO());System.out.printf("digite a quatidade %s\n",exercicio.getQTD());System.out.printf("o valor e:%s\n",exercicio.getVALOR());// Double Ex313.Calcula(25,1.5);// System.out.println("o valor total e :%s\n",(exercicio.Calcula(quantidade,preco)));//Double resultado = Calcula(25,1.5);//System.out.printf("o valor total e :%s\n",+fat);//Ex313.Calcula(15,1.5);//instanciando o metodo Calcula,com os parametros de valores//System.out.println (" \nValor Total: " + Ex313.getfat()); doubleres=exercicio.getCalcula(15,3.0);System.out.println("\no valor total e :"+res);}}