Dúvida em método principal

5 respostas
H

Boa tarde pessoal do GUJ,

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.

package Ex_03;

//Uma classe Produtos
public class Produtos {
	
	private int qtd;
	private  double valor;
	
	public void setQtd(int novoQtd){
		qtd = novoQtd;
	}
	
	public int getQtd(){
		return qtd;
	}
	
	public void setValor(double novoValor){
		valor = novoValor;
	}
	public double getValor(){
		return valor;
	}
}

//Classe principal
package Ex_03;

public class Principal {

	public static void main(String[] args) {
		
		Produtos p;
		
		p = new Produtos();
		
			
		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.

5 Respostas

evertonsilvagomesjav
halflife1940:
Boa tarde pessoal do GUJ,

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.

package Ex_03;

//Uma classe Produtos
public class Produtos {
	
	private int qtd;
	private  double valor;
	
	public void setQtd(int novoQtd){
		qtd = novoQtd;
	}
	
	public int getQtd(){
		return qtd;
	}
	
	public void setValor(double novoValor){
		valor = novoValor;
	}
	public double getValor(){
		return valor;
	}
}

//Classe principal
package Ex_03;

public class Principal {

	public static void main(String[] args) {
		
		Produtos p;
		
		p = new Produtos();
		
			
		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:

Produtos p;
		
		p = new Produtos();
		
		 int qtd = Integer.parseInt(JOptionPane.showInputDialog("Digite a qtde")); 
	
                                 double val = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor"));	

		p.setQtd(qtde); 
		p.setValor(val);
		
		
		System.out.println("Quantidade: " + p.getQtd() + " Valor: " + p.getValor());
H

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

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

Ficou assim:

package Ex_03;
import javax.swing.JOptionPane;
public class Principal {

	public static void main(String[] args) {
		
		Produtos p;
		
		
		double usuario = Double.parseDouble(JOptionPane.showInputDialog("Quantos produtos?"));
		
		p = new Produtos();
	
			
		p.setQtd(usuario); //Aqui apresenta um erro no setQtd.
		p.setValor(30);
		
		
		System.out.println("Quantidade: " + p.getQtd() + " Valor: " + p.getValor());
	}
}
H

Consegui fazer, precisava mudar o construtor para que o qtd = usuario, no caso o que seria digitado.

Muito obrigado a todos que responderam.

Criado 19 de novembro de 2010
Ultima resposta 19 de nov. de 2010
Respostas 5
Participantes 3