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.
public class Ex313
{
private String Numero;
private String Descricao;
private int quantidade;
private double preco;
// construtor inicializa as variaveis
public Ex313( String nproduto, String descproduto,int qtd, double valor )
{
Numero = nproduto;
Descricao = descproduto;
quantidade = qtd;
preco = valor;
} // termina construtor
// método para configurar inicializar as variaveis
public void setNUMERO( String nproduto )
{
Numero = nproduto; //
} // termina o método
public void setDESCRICAO(String descproduto)
{
Descricao = descproduto;
}
public void setQTD(int qtd)
{
quantidade = qtd;
}
public void setVALOR(Double valor)
{
preco = valor;
}
// método para recuperar
public String getNUMERO()
{
return Numero;
} // termina o método
public String getDESCRICAO()
{
return Descricao;
}
public int getQTD()
{
return quantidade;
}
public Double getVALOR()
{
return preco;
}
public Double getCalcula( int qtd, Double valor)
{
Double fat = 0.0;
fat = qtd * valor;
if ( fat < 0){
fat = 0.0;
}
if ( valor < 0){
valor = 0.0;
}
return fat;
}
/} // 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.
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.
public static void main(String[] args){
Ex313 item = new Ex313("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!
uma dica Tonny Stark,
quando vc criar um metodo em sua classe tipo:
public void setDESCRICAO(String descproduto)
{
Descricao = descproduto;
}
é melhor fazer assim:
public void setDescricao(String Descricao) //tipo use só a primeira letra da segunda palavra maiuscula fica mais bacana
{
this.Descricao = Descricao; // aqui voce pode fazer igual vc fez, ou assim: outro detalhe toda vez que vc criar uma variavel comece com letra minuscula.
}
Esse método getCalcula pode ser utilizado num processamento de pedidos de venda.
Vc pode criar uma classe Pedido:
public class Pedido {
private int numeroPedido;
private Ex313 produto;
private Double valorTotalPedido;
// Getters e Setters aqui
public void fecha (Ex313 produto, int quantidade) {
this.produto = produto;
double valorProduto = produto.getValor();
this.valorTotalPedido = produto.getCalcula(int quantidade, double valorProduto);
this.numeroPedido = Math.random(); // aqui dá pra colocar alguma lógica pra auto-gerar um valor para pedido
}
E no main:
public class TestaPedido {
public static void main (String [] args) {
Ex313 produto = new Ex313("Lapis", "Preto, modelo 4B", 500, 2.00);
Pedido pedido = new Pedido();
pedido.fecha(produto, 10);
System.out.println (" Pedido nº " + pedido.getNumeroPedido() + "\nValor Total: " + pedido.getValorTotalPedido());
}
}
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
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ç
import java.util.Scanner;
public class Ex313Teste
{
// método main inicia a execução do programa
public static void main( String args[] )
{
Scanner input = new Scanner(System.in);
Ex313 exercicio = new Ex313("01","BORRACHA",25,1.5);//instanciando o objeto Ex313
System.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);
}
}
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.*
String descri = JOptionPane.showInputDialog("Digite a descrição do produto");
double valor = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor: "));
// Faz o mesmo com outras variaveis
Ex313 exercicio = new Ex313 (numero, descri,qtd, valor );
// Imprime os valores na tela
bom,tentei usar o metodo Calcula,mas aparece a msg erro
cannot find symbol method Calcula(int,double)
o q estou fazendo de errado?
import java.util.Scanner;
public class Ex313Teste
{
// método main inicia a execução do programa
public static void main( String args[] )
{
Scanner input = new Scanner(System.in);
Ex313 exercicio = new Ex313("01","BORRACHA",25,1.5);//instanciando o objeto Ex313
System.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());
int res = Calcula(15,3.0);//instanciando o met Calcula com parametros
System.out.println("\no valor total e :"+res);
}
}
Lembro que no seu primeiro post o método calcula era assinado assim:
public Double getCalcula( int qtd, Double valor);
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);
ALELUIA…FUNCIONOU O METODO getCalcula…
agora eu vou tentar fazer com o usuario digitando a entrada…
vlw…
import java.util.Scanner;
public class Ex313Teste
{
// método main inicia a execução do programa
public static void main( String args[] )
{
Scanner input = new Scanner(System.in);
Ex313 exercicio = new Ex313("01","BORRACHA",25,1.5);//instanciando o objeto Ex313
System.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());
double res = exercicio.getCalcula(15,3.0);
System.out.println("\no valor total e :"+res);
}
}