Tenho uma dúvida que sempre me acompanhou no decorrer do semestre, que como fazer o usuário digitar alguma coisa num método encapsulado.
Vou colocar um exemplo que fiz somente para sanar essa dúvida.
packageEx_03;//Uma classe ProdutospublicclassProdutos{privateintqtd;privatedoublevalor;publicvoidsetQtd(intnovoQtd){qtd=novoQtd;}publicintgetQtd(){returnqtd;}publicvoidsetValor(doublenovoValor){valor=novoValor;}publicdoublegetValor(){returnvalor;}}//Classe principalpackageEx_03;publicclassPrincipal{publicstaticvoidmain(String[]args){Produtosp;p=newProdutos();p.setQtd(20);//No caso já atribuí valores, como fazer o usuário determinar a qtd e o valor que ele quer?p.setValor(30);System.out.println("Quantidade: "+p.getQtd()+" Valor: "+p.getValor());}}
Desde já agradeço a boa vontade de alguém querer ajudar.
Tenho uma dúvida que sempre me acompanhou no decorrer do semestre, que como fazer o usuário digitar alguma coisa num método encapsulado.
Vou colocar um exemplo que fiz somente para sanar essa dúvida.
packageEx_03;//Uma classe ProdutospublicclassProdutos{privateintqtd;privatedoublevalor;publicvoidsetQtd(intnovoQtd){qtd=novoQtd;}publicintgetQtd(){returnqtd;}publicvoidsetValor(doublenovoValor){valor=novoValor;}publicdoublegetValor(){returnvalor;}}//Classe principalpackageEx_03;publicclassPrincipal{publicstaticvoidmain(String[]args){Produtosp;p=newProdutos();p.setQtd(20);//No caso já atribuí valores, como fazer o usuário determinar a qtd e o valor que ele quer?p.setValor(30);System.out.println("Quantidade: "+p.getQtd()+" Valor: "+p.getValor());}}
Desde já agradeço a boa vontade de alguém querer ajudar.
Use JOptionPane:
Produtosp;p=newProdutos();intqtd=Integer.parseInt(JOptionPane.showInputDialog("Digite a qtde"));doubleval=Double.parseDouble(JOptionPane.showInputDialog("Digite o valor"));p.setQtd(qtde);p.setValor(val);System.out.println("Quantidade: "+p.getQtd()+" Valor: "+p.getValor());
H
halflife1940
A entendi, eu tentava fazer isso só que eu declarava como String, mas eu vi que pode ser como int mesmo.
Agradeço, mas ocorreu um erro no setQtd (Não é aplicável para argumentos double).
P
Pedro_GTI
pode Usar Scanner tb…
Ex:
Scanner entrada = new Scanner(System.in);
p.setQnt(entrada.nextInt()); // para int
p.setQnt(entrada.nextDouble());//para double
p.setQnt(entrada.nextLine()); // para String
ou se quiser
double valor;
valor = entrada.nextDouble();
p.setValor(valor);
// da mesma forma para String e int
H
halflife1940
Ficou assim:
packageEx_03;importjavax.swing.JOptionPane;publicclassPrincipal{publicstaticvoidmain(String[]args){Produtosp;doubleusuario=Double.parseDouble(JOptionPane.showInputDialog("Quantos produtos?"));p=newProdutos();p.setQtd(usuario);//Aqui apresenta um erro no setQtd.p.setValor(30);System.out.println("Quantidade: "+p.getQtd()+" Valor: "+p.getValor());}}
H
halflife1940
Consegui fazer, precisava mudar o construtor para que o qtd = usuario, no caso o que seria digitado.