AJUDA - Main, lógica de troco

Pessoal, boa noite, eu sei que é simples, mas estou me batendo muito, meu main fica dando erro na parte abaixo:

double total = (preco quantidade);

o preco não é reconhecido.

public class AppCaixa {

public static void main(String[] args) {

	// FileWriter writer = new FileWriter(Utilitarios.CAMINHO_ARQUIVO +
	// "arquivos.txt", true);
	int quantidade = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade: "));
	String[] prod = new String[quantidade];


	for (int i = 0; i < quantidade; i++) {			
		prod[i] = JOptionPane.showInputDialog("Informe o produto: " + (i + 1) + "/" + quantidade );
		double preco = Double.parseDouble(JOptionPane.showInputDialog("Informe o preco: " + (i + 1) + "/" + quantidade));


} 
	
	double total = (preco * quantidade);
	double pagamento = Double.parseDouble(JOptionPane.showInputDialog("Informe o valor do pagamento: "));
	double troco = total - pagamento;
	System.out.println("O troco foi de: " + troco);

Sua variável preco foi declarada dentro do laço, então ela só vai ser visível no escopo daquele laço.

1 curtida

Eu fiz uma classe com preco, mas então ela não é reconhecida pela aplicacao

public class Mercado {

private double preco;
private double troco;



public Mercado(double preco, double troco) {
	this.setPreco(preco);
	this.setPreco(preco);
}

public double getPreco() {
	return preco;
}

public void setPreco(double preco) {
	if (preco < 0) {
		throw new NumberFormatException("Preço não pode ser negativo ");
	}
	this.preco = preco;

}


public double getTroco() {
	return troco;
}

public void setTroco(double troco) {
	this.troco = troco;
}

public String mostrar() {
	String resultado = "";
	return resultado;
}

}

E cadê o código da aplicação onde você usa a classe Mercado?

É o primeiro que ta apresentando erro

Mas naquele código você não tem nenhum objeto do tipo Mercado.