Maquina de Refri

35 respostas
wesleysilva

Ola galera criei um programa de uma maquina de refri. so falta implementar o preço por refri. mas nao estou conseguindo me ajudem.

class Refrigerante.

public class Refrigerante 
{
	private int quantidade = 0;
	private int valorRefri = 2;

	public Refrigerante(int quantidade) 
	{
		this.quantidade = quantidade;
	}

	// ---------------------------------------------------------------
	public int getEstoque() 
	{
		return this.quantidade;
	}
       //------------------------------------------------------------------
	public int getValor() 
	{
		return this.valorRefri;
	}
	// ---------------------------------------------------------------
	public boolean Venda() {
		if (this.quantidade > 0 && this.valorRefri >=2) 
		{
			quantidade--;
			return true;
		} 
		else 
		{
			return false;
		}
	}
}

class Venda.

public class Venda 
{
    private Refrigerante refri = new Refrigerante(5);
//------------------------------------------------------------
    public String TemosRefri() 
    {
        if (this.refri.getEstoque() > 0) 
        {
            return "Temos Refrigerante";
        } 
        else 
        {
            return "Desculpe sem Refrigerante no Estoque!";
        }
    }
//-------------------------------------------------------------
    public String getNumeroRefri() 
    {
        if (this.refri.getEstoque() > 1) 
        {
            return "Temos " + this.refri.getEstoque() + " Refrigerante";
        } 
        else if (this.refri.getEstoque() == 1) 
        {
            return "Temos 1 Refrigerante";
        } 
        else 
        {
            return "Sem Refrigerantes!";
        }
    }
//-------------------------------------------------------------
    public String vendaRefri() 
    {
        if (this.refri.Venda()) 
        {
            return "Obrigado aqui esta seu refrigerante";
        }
        else
        {
            return "Desculpe sem refrigerante";
        }
    }
}

class main.

import java.util.Scanner;

public class Main 
{
	public static void main(String[] args)
	{
		Venda vendaRefri = new Venda();

		boolean loop = true;
		int opcao = -1;
		System.out.println("Bem Vinda a Maquina de Refrigerante Cola-Cola");
//-------------------------------------------------------------------------------------
		while (loop) 
		{
			// imprme as opcoes na tela
			printOpcoes();
			
			// ler um dado que a pessoa digitou
			Scanner leitor = new Scanner(System.in);
			try 
			{
				opcao = Integer.parseInt(leitor.nextLine());
			} 
			catch (Exception ex) 
			{
				ex.printStackTrace();
			}
//-----------------------------------------------------------------------------------
			// verifica qual opcao foi escolhida
			switch (opcao) 
			{
			case 1:
				// imprime a msg na tela
				System.out.println(vendaRefri.TemosRefri());
				// para o teste das opcoes
				break;
			case 2:
				// imprime a mensagem na tela
				System.out.println(vendaRefri.getNumeroRefri());
				// para o teste das opcoes
				break;
			case 3:
				// imprime a msg na tela
				System.out.println(vendaRefri.vendaRefri());
				// para o teste das opcoes
				break;
			case 4:
				// imprime a mensagem na tela
				System.out.println("Obrigado Senhor.");
				// neste caso especifico... ajusta para sair do loop e do programa
				loop = false;
				// para o teste das opcoes
				break;
			default:
				// imprime a mensagem na para o caso de nao ter escolhido uma opcao correta
				System.out.println("Desculpe, nao entendi o seu pedido");
			}
//------------------------------------------------------------------------------------------------------
		}
	}

	public static void printOpcoes() 
	{
		System.out.println();
		System.out.println("1 - Voce tem refrigerantes?");
		System.out.println("2 - Quantos refrigerantes voce tem");
		System.out.println("3 - Eu quero comprar 1 refrigerantes");
		System.out.println("4 - Sair");
		System.out.println();
	}
}

tentei fazer mas nao estou conseguindo ja criei a variavel valor e o metodo getvalorRefri() mas nao sei o q fazer agora.

35 Respostas

R

qual o erro?

confesso que não li tudo, mas se vc falar o que está acontecendo de errado melhora.

wesleysilva

Nao amigo nao tem nada de errado, mas quero que tenha uma opção do comprador inserir o dinheiro na maquina e ela retornar o troco, intende.

nao estou conseguindo implementar os códigos para isso.

se puder me ajudar te agradeço.

L
tentei fazer mas nao estou conseguindo ja criei a variavel valor e o metodo getvalorRefri() mas nao sei o q fazer agora.

bom tbm não identiquei o que vc quer fazer na verdade?

abrxx

uma logica vê se ajuda, chutei mais ou menos

boolean errado = true;

    	while (errado) {
    		double receber = 0;

receber = Double.parseDouble(JOptionPane.showInputDialog("\nTotal a pagar: R$"+suaJLabel.getText()+"\nDigite o valor recebido: "));
    		    		
double pagar = Double.parseDouble(suaJLabel.getText());
double troco = receber - pagar;

if (pagar <= receber) {
   
JOptionPane.showMessageDialog(null, "TROCO: R$" + String.format("%.2f", troco));

                                                errado = false;
    			this.total = 0;
    			this.suaJLabel.setText("" +  total);
        		} else {
    		      		           

    			JOptionPane.showMessageDialog(null, "Impossível pagar a conta... O valor recebido é menor que o valor total do Refrigerante.\nTente novamente");
    		}
    	}
esdras_63

Tente criar um código assim:

public float getTroco(float Valor) {
  if (Valor < ValorDoRefrigerante) {
    return -1;
  }
  return Valor - ValorDoRefrigerante;
}

Aí se ele colocar um valor menor ele retorna -1 e você faz a verificação no seu main tipo:

if (getTroco(Valor) == -1) {
  //...
  }

Acho que é isso…

wesleysilva

to meio confuso tem como vc implementar no meu codigo ai, pra eu entender melhor

agradeço desde ja.

L

lê o que eu fiz lá em cima e vê se entende!

abrxx

esdras_63
public class Refrigerante   
{  
    private int quantidade = 0;  
    private int valorRefri = 2;  
  
    public Refrigerante(int quantidade)   
    {  
        this.quantidade = quantidade;  
    }  
  
    // ---------------------------------------------------------------  
    public int getEstoque()   
    {  
        return this.quantidade;  
    }  
       //------------------------------------------------------------------  
    public int getValor()   
    {  
        return this.valorRefri;  
    }  
    // ---------------------------------------------------------------  
    //Na venda o cliente precisa por quantos reais ele colocou na máquina e ele retorna o troco ou no caso -1 caso não consiga vender.
    public float Venda(float ValorNaMaquina) {  
        float Troco = -1;
        if (this.quantidade > 0 && this.valorRefri >=2)   
        {  
            if (ValorNaMaquina >= this.valorRefri) {
              Troco = ValorNaMaquina - this.valorRefri;
              quantidade--;  
            } 
        }   
        return Troco;
    }  
}

Depois você faz a verificação:

Refrigerante refri = new Refrigerante(2);
  if (refri.Venda(10) == -1) {
    //Não conseguiu vender
  } else {
    //Conseguiu vender e refri.Venda(10) retorna 8 de troco.
  }
wesleysilva

Certo vou tentar aki e posto ja ja o codigo

esdras_63

Não falou nada… Acho que funcionou… hehe

wesleysilva

Ol amigo esdras_63 olha so como ficou meu codigo esta com um erro ver ser estou fazendo certo e prq esta com esse erro.

Gato

public class Venda {
	private Refrigerante refri = new Refrigerante(5);

	// ------------------------------------------------------------
	public String TemosRefri() {
		if (this.refri.getEstoque() > 0) {
			return "Temos Refrigerante";
		} else {
			return "Desculpe sem Refrigerante no Estoque!";
		}
	}

	// -------------------------------------------------------------
	public String getNumeroRefri() {
		if (this.refri.getEstoque() > 1) {
			return "Temos " + this.refri.getEstoque() + " Refrigerante";
		} else if (this.refri.getEstoque() == 1) {
			return "Temos 1 Refrigerante";
		} else {
			return "Sem Refrigerantes!";
		}
	}

	// -------------------------------------------------------------
	public String vendaRefri() {
		if (this.refri.Venda()) {
			return "Obrigado aqui esta seu refrigerante";
		} else {
			return "Desculpe sem refrigerante";
		}
	}
//----------------------------------------------------------------------
	public String troco() {
		if (this.refri.venda(10) == -1) {
			return "Não conseguiu vender";
		} else {
			return "Conseguiu vender e" + this.vendaRefri() + "obrigado";
		}
	}
}
public class Refrigerante {

	private int quantidade = 0;
	private int valorRefri = 2;

	public Refrigerante(int quantidade) {
		this.quantidade = quantidade;
	}

	// ---------------------------------------------------------------
	public int getEstoque() {
		return this.quantidade;
	}

	// ----------------------------------------------------------------------
	public int getValor() {
		return this.valorRefri;
	}

	// ---------------------------------------------------------------
	// Na venda o cliente precisa por quantos reais ele colocou na máquina e ele
	// retorna o troco ou no caso -1 caso não consiga vender.
	public float Venda(float ValorNaMaquina) {
		float Troco = -1;
		if (this.quantidade > 0 && this.valorRefri >= 2) {
			if (ValorNaMaquina >= this.valorRefri) {
				Troco = ValorNaMaquina - this.valorRefri;
				quantidade--;
			}
		}	
		return Troco;
	}

	public boolean Venda() {
		if (this.quantidade > 0 && this.valorRefri >= 2) {
			quantidade--;
			return true;
		} else {
			return false;
		}
	}
}
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Venda vendaRefri = new Venda();

		boolean loop = true;
		int opcao = -1;
		System.out.println("Bem Vinda a Maquina de Refrigerante Cola-Cola");
		// -------------------------------------------------------------------------------------
		while (loop) {
			// imprme as opcoes na tela
			printOpcoes();

			// ler um dado que a pessoa digitou
			Scanner leitor = new Scanner(System.in);
			try {
				opcao = Integer.parseInt(leitor.nextLine());
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			// -----------------------------------------------------------------------------------
			// verifica qual opcao foi escolhida
			switch (opcao) {
			case 1:
				// imprime a msg na tela
				System.out.println(vendaRefri.TemosRefri());
				// para o teste das opcoes
				break;
			case 2:
				// imprime a mensagem na tela
				System.out.println(vendaRefri.getNumeroRefri());
				// para o teste das opcoes
				break;
			case 3:
				// imprime a msg na tela
				System.out.println(vendaRefri.vendaRefri());
				// para o teste das opcoes
				break;
			case 4:
				// imprime a mensagem na tela
				System.out.println("Obrigado Senhor.");
				// neste caso especifico... ajusta para sair do loop e do
				// programa
				loop = false;
				// para o teste das opcoes
				break;
			default:
				// imprime a mensagem na para o caso de nao ter escolhido uma
				// opcao correta
				System.out.println("Desculpe, nao entendi o seu pedido");
			}
			// ------------------------------------------------------------------------------------------------------
		}
	}

	public static void printOpcoes() {
		System.out.println();
		System.out.println("1 - Voce tem refrigerantes?");
		System.out.println("2 - Quantos refrigerantes voce tem");
		System.out.println("3 - Eu quero comprar 1 refrigerantes");
		System.out.println("4 - Sair");
		System.out.println();
	}
}
esdras_63

Nesse código que está o erro:

public String vendaRefri() {  
        if (this.refri.Venda()) {  
            return "Obrigado aqui esta seu refrigerante";  
        } else {  
            return "Desculpe sem refrigerante";  
        }  
    }
}

Tira ele e na hora da venda chame direto o do troco.

esdras_63

em vez de:

case 3:  
                // imprime a msg na tela  
                System.out.println(vendaRefri.vendaRefri());  
                // para o teste das opcoes  
                break;

coloque:

case 3:  
                // imprime a msg na tela  
                System.out.println(vendaRefri.troco());  
                // para o teste das opcoes  
                break;

e não esqueça de apagar o metodo vendaRefri

wesleysilva

Cara falta pouco ta dando erro ai oh esse this.refri.venda(10) esse 10 ai ta vindo de onde??

public String troco() {
		if (this.refri.venda(10) == -1) {
			return "Não conseguiu vender";
		} else {
			return "Obrigado Volte sempre";
		}
	}
}
esdras_63

o 10 é um parâmetro que é quantos reais o cliente colocou na máquina. Você vai ter que deixá-lo para o cliente digitar o valor. Posta o erro para nós?

wesleysilva

ai oh ta com um erro na Venda(10) so isso

public String troco() {
		if (refri.[b]Venda[/b](10) == -1) 
		{
			return "Desculpe dinheiro insuficiente";
		} 
		else 
		{
			return "Conseguiu vender e "+refri.Venda(10) +"retorna 8 de troco";
		}
	}
}
esdras_63

tente colocar:

refri.Venda(10.0)
esdras_63

cole o código de todas as suas classes separadas para mim ver o que está acontecendo fazendo favor?

wesleysilva

Certo ai esta todo meu codigo

class Principal

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Venda vendaRefri = new Venda();

		boolean loop = true;
		int opcao = -1;
		System.out.println("Bem Vinda a Maquina de Refrigerante Cola-Cola");
		// -------------------------------------------------------------------------------------
		while (loop) {
			// imprme as opcoes na tela
			printOpcoes();

			// ler um dado que a pessoa digitou
			Scanner leitor = new Scanner(System.in);
			try {
				opcao = Integer.parseInt(leitor.nextLine());
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			// -----------------------------------------------------------------------------------
			// verifica qual opcao foi escolhida
			switch (opcao) {
			case 1:
				// imprime a msg na tela
				System.out.println(vendaRefri.TemosRefri());
				// para o teste das opcoes
				break;
			case 2:
				// imprime a mensagem na tela
				System.out.println(vendaRefri.getNumeroRefri());
				// para o teste das opcoes
				break;
			case 3:
				// imprime a msg na tela
				System.out.println(vendaRefri.troco());
				break;
			case 4:
				// imprime a mensagem na tela
				System.out.println("Obrigado Senhor.");
				// neste caso especifico... ajusta para sair do loop e do
				// programa
				loop = false;
				// para o teste das opcoes
				break;
			default:
				// imprime a mensagem na para o caso de nao ter escolhido uma
				// opcao correta
				System.out.println("Desculpe, nao entendi o seu pedido");
			}
			// ------------------------------------------------------------------------------------------------------
		}
	}

	public static void printOpcoes() {
		System.out.println();
		System.out.println("1 - Voce tem refrigerantes?");
		System.out.println("2 - Quantos refrigerantes voce tem");
		System.out.println("3 - Eu quero comprar 1 refrigerantes");
		System.out.println("4 - Sair");
		System.out.println();
	}
}

class Venda

public class Venda {
	private Refrigerante refri = new Refrigerante(5);

	// ------------------------------------------------------------
	public String TemosRefri() {
		if (this.refri.getEstoque() > 0) {
			return "Temos Refrigerante";
		} else {
			return "Desculpe sem Refrigerante no Estoque!";
		}
	}

	// -------------------------------------------------------------
	public String getNumeroRefri() {
		if (this.refri.getEstoque() > 1) {
			return "Temos " + this.refri.getEstoque() + " Refrigerante";
		} else if (this.refri.getEstoque() == 1) {
			return "Temos 1 Refrigerante";
		} else {
			return "Sem Refrigerantes!";
		}
	}

	// -------------------------------------------------------------

	public String troco() {
		if (this.refri.Venda(10)==1) 
		{
			return "Desculpe dinheiro insuficiente";
		} 
		else 
		{
			return "Conseguiu vender e "+refri.Venda(10) +"retorna 8 de troco";
		}
	}
}

class Refrigerante

public class Refrigerante {

	private int quantidade = 0;
	private int valorRefri = 2;

	public Refrigerante(int quantidade) 
	{
		this.quantidade = quantidade;
	}
	// ---------------------------------------------------------------
	public int getEstoque() 
	{
		return this.quantidade;
	}

	// ----------------------------------------------------------------------
	public int getValor() 
	{
		return this.valorRefri;
	}
	// ---------------------------------------------------------------
	// Na venda o cliente precisa por quantos reais ele colocou na máquina e ele retorna o troco ou no caso -1 caso não consiga vender.
	public float Venda(float ValorNaMaquina) {
		float Troco = -1;
		if (this.quantidade > 0 && this.valorRefri >= 2) 
		{
			if (ValorNaMaquina >= this.valorRefri) 
			{
				Troco = ValorNaMaquina - this.valorRefri;
				quantidade--;
			}
		}	
		return Troco;
	}

	public boolean Venda() 
	{
		if (this.quantidade > 0 && this.valorRefri >= 2) 
		{
			quantidade--;
			return true;
		} 
		else 
		{
			return false;
		}
	}
}

a class que esta com erro e a class Venda.

esdras_63

Ok! Estou verificando aqui.

wesleysilva

Beleza estou aguardando!

esdras_63

Aqui está funcionando normalmente só mudei esse método para exibir melhor a mensagem de troco:

public String troco() {
    if (this.refri.Venda(10) == 1) {
      return "Desculpe dinheiro insuficiente";
    } else {
      return "Conseguiu vender e retorna " + refri.Venda(10) + " de troco";
    }
  }

Só falta você fazer que quando o cliente querer comprar o refri ele pedir quantos reais ele vai colocar e setar no:

this.refri.Venda(/*aqui os reais*/)
wesleysilva

Amigo tem algum erro ele ta vendendo de dois refri de uma vez so

executa ai pra vc ver

esdras_63

pronto! Só mudar o método troco para essa forma:

public String troco() {
    float troco = this.refri.Venda(10);
    if (troco == -1) {
      return "Desculpe dinheiro insuficiente";
    } else {
      return "Conseguiu vender e retorna " + troco + " de troco";
    }
  }

ele estava chamando a venda duas vezes… hehe tenta ai agora.

esdras_63

você pode mudar os tipos de dados desse método que volta o troco de float para double para poder mecher com os centavos.

wesleysilva

amigo como eu faço pra o usuario ver o preço do refri e entra com o dinheiro, no nosso caso ai o dinheiro esta automatico ne.

como eu faço

esdras_63

hora que ele digitar 3 você exibe uma mensagem pedindo o dinheiro e ele coloca o dinheiro e clica enter você armazena numa variável e passa como parâmetro para o método. Vou sair agora! Qualquer coisa posta aí e eu leio depois.
Flws

wesleysilva

blz, tentei aki mas ta com alguns erros depois vc poderia mostra ai no codigo como se faz.

valeu msm te agradeço.

wesleysilva

Ola irmao bom dia, esta dando um erro onde crio a variavel para usar como paramentro qndo o usuario escolher a opçao 3.

esdras_63

olá! Pode me mandar todas suas classes para mim ver como está o código?

Obrigado!

wesleysilva

ai esta amigo todo meu codigo quero saber onde devo criar a variavel e com fzer esse parametro ai que vc falou

class Refrigerante

public class Refrigerante {

	private int quantidade = 0;
	private int valorRefri = 2;
	private double valorDinheiro = 0;
	
	
	public Refrigerante(int quantidade) {
		this.quantidade = quantidade;
	}

	// ---------------------------------------------------------------
	public int getEstoque() {
		return this.quantidade;
	}

	// ----------------------------------------------------------------------
	public int getValor() {
		return this.valorRefri;
	}
	//----------------------------------------------------------------------
	public double getValorDinheiro(int valorDinheiro)
	{
		return this.valorDinheiro;
	}
	// ---------------------------------------------------------------
	public double Venda(float ValorNaMaquina) {
		float Troco = -1;
		if (this.quantidade > 0 && this.valorRefri >= 2) {
			if (ValorNaMaquina >= this.valorRefri) {
				Troco = ValorNaMaquina - this.valorRefri;
				quantidade--;
			}
		}
		return Troco;
	}

	public boolean Venda() {
		if (this.quantidade > 0 && this.valorRefri >= 2) {
			quantidade--;
			return true;
		} else {
			return false;
		}
	}
}

class venda

public class Venda {
	private Refrigerante refri = new Refrigerante(5);

	// ------------------------------------------------------------
	public String TemosRefri() {
		if (this.refri.getEstoque() > 0) {
			return "Temos Refrigerante";
		} else {
			return "Desculpe sem Refrigerante no Estoque!";
		}
	}

	// -------------------------------------------------------------
	public String getNumeroRefri() {
		if (this.refri.getEstoque() > 1) {
			return "Temos " + this.refri.getEstoque() + " Refrigerante";
		} else if (this.refri.getEstoque() == 1) {
			return "Temos 1 Refrigerante";
		} else {
			return "Sem Refrigerantes!";
		}
	}
	// -------------------------------------------------------------
	public String getTroco() {
		double troco = this.refri.Venda(5);
		if (troco == -1) {
			return "Desculpe dinheiro insuficiente";
		} else {
			return "Conseguiu vender retorna R$" +troco+" de troco";
		}
	}
}

class Main

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Venda vendaRefri = new Venda();

		boolean loop = true;
		int opcao = -1;
		System.out.println("Bem Vinda a Maquina de Refrigerante Cola-Cola");
		// -------------------------------------------------------------------------------------
		while (loop) {
			// imprme as opcoes na tela
			printOpcoes();

			// ler um dado que a pessoa digitou
			Scanner leitor = new Scanner(System.in);
			try {
				opcao = Integer.parseInt(leitor.nextLine());
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			// -----------------------------------------------------------------------------------
			// verifica qual opcao foi escolhida
			switch (opcao) {
			case 1:
				// imprime a msg na tela
				System.out.println(vendaRefri.TemosRefri());
				// para o teste das opcoes
				break;
			case 2:
				// imprime a mensagem na tela
				System.out.println(vendaRefri.getNumeroRefri());
				// para o teste das opcoes
				break;
			case 3:
				// imprime a msg na tela
				System.out.println(vendaRefri.getTroco());
				break;
			case 4:
				// imprime a mensagem na tela
				System.out.println("Obrigado Senhor.");
				// neste caso especifico... ajusta para sair do loop e do
				// programa
				loop = false;
				// para o teste das opcoes
				break;
			default:
				// imprime a mensagem na para o caso de nao ter escolhido uma
				// opcao correta
				System.out.println("Desculpe, nao entendi o seu pedido");
			}
			// ------------------------------------------------------------------------------------------------------
		}
	}

	public static void printOpcoes() {
		System.out.println();
		System.out.println("1 - Voce tem refrigerantes?");
		System.out.println("2 - Quantos refrigerantes voce tem");
		System.out.println("3 - Eu quero comprar 1 refrigerantes");
		System.out.println("4 - Sair");
		System.out.println();
	}
}
esdras_63

Deixe assim suas classes:

Main:

public class Main {

  public static void main(String[] args) {
    Venda vendaRefri = new Venda();

    boolean loop = true;
    int opcao = -1;
    System.out.println("Bem Vinda a Maquina de Refrigerante Cola-Cola");
    // -------------------------------------------------------------------------------------  
    while (loop) {
      // imprme as opcoes na tela  
      printOpcoes();

      // ler um dado que a pessoa digitou  
      Scanner leitor = new Scanner(System.in);
      try {
        opcao = Integer.parseInt(leitor.nextLine());
      } catch (Exception ex) {
        ex.printStackTrace();
      }
      // -----------------------------------------------------------------------------------  
      // verifica qual opcao foi escolhida  
      switch (opcao) {
        case 1:
          // imprime a msg na tela  
          System.out.println(vendaRefri.TemosRefri());
          // para o teste das opcoes  
          break;
        case 2:
          // imprime a mensagem na tela  
          System.out.println(vendaRefri.getNumeroRefri());
          // para o teste das opcoes  
          break;
        case 3:
          // imprime a msg na tela  
          System.out.println("Coloque quantos reais inseriu na máquina: ");
          double reais = Double.parseDouble(leitor.nextLine());
          System.out.println(vendaRefri.getTroco(reais));
          break;
        case 4:
          // imprime a mensagem na tela  
          System.out.println("Obrigado Senhor.");
          // neste caso especifico... ajusta para sair do loop e do  
          // programa  
          loop = false;
          // para o teste das opcoes  
          break;
        default:
          // imprime a mensagem na para o caso de nao ter escolhido uma  
          // opcao correta  
          System.out.println("Desculpe, nao entendi o seu pedido");
      }
      // ------------------------------------------------------------------------------------------------------  
    }
  }

  public static void printOpcoes() {
    System.out.println();
    System.out.println("1 - Voce tem refrigerantes?");
    System.out.println("2 - Quantos refrigerantes voce tem");
    System.out.println("3 - Eu quero comprar 1 refrigerantes");
    System.out.println("4 - Sair");
    System.out.println();
  }
}

Venda:

public class Venda {

  private Refrigerante refri = new Refrigerante(5);

  // ------------------------------------------------------------  
  public String TemosRefri() {
    if (this.refri.getEstoque() > 0) {
      return "Temos Refrigerante";
    } else {
      return "Desculpe sem Refrigerante no Estoque!";
    }
  }

  // -------------------------------------------------------------  
  public String getNumeroRefri() {
    if (this.refri.getEstoque() > 1) {
      return "Temos " + this.refri.getEstoque() + " Refrigerante";
    } else if (this.refri.getEstoque() == 1) {
      return "Temos 1 Refrigerante";
    } else {
      return "Sem Refrigerantes!";
    }
  }
  // -------------------------------------------------------------  

  public String getTroco(double dinheiro) {
    double troco = this.refri.Venda(dinheiro);
    if (troco == -1) {
      return "Desculpe dinheiro insuficiente";
    } else {
      return "Conseguiu vender retorna R$" + troco + " de troco";
    }
  }
}

Refrigerante:

public class Refrigerante {

  private int quantidade = 0;
  private int valorRefri = 2;
  private double valorDinheiro = 0;

  public Refrigerante(int quantidade) {
    this.quantidade = quantidade;
  }

  // ---------------------------------------------------------------  
  public int getEstoque() {
    return this.quantidade;
  }

  // ----------------------------------------------------------------------  
  public int getValor() {
    return this.valorRefri;
  }
  //----------------------------------------------------------------------  

  public double getValorDinheiro(int valorDinheiro) {
    return this.valorDinheiro;
  }
  // ---------------------------------------------------------------  

  public double Venda(double ValorNaMaquina) {
    double Troco = -1;
    if (this.quantidade > 0 && this.valorRefri >= 2) {
      if (ValorNaMaquina >= this.valorRefri) {
        Troco = ValorNaMaquina - this.valorRefri;
        quantidade--;
      }
    }
    return Troco;
  }

  public boolean Venda() {
    if (this.quantidade > 0 && this.valorRefri >= 2) {
      quantidade--;
      return true;
    } else {
      return false;
    }
  }
}
adriano_si

Srs, boa tarde,

desculpem-me em me intrometer no tópico, as é que realmente já fugiu do controle.

esdras_63, você ainda não percebeu, mas o wesley não está aprendendo exatamente nada com essa troca de código cego. Ele não está nem tentando, está solicitando e você está fazendo, toda vez você precisa pedir novamente para ver as classes dele o que trás a tona outro erro, ele ainda não está fazendo o pedido correto.

Wesley, dizer que está dando um erro é uma informação vaga demais para receber ajuda, receber o erro consertado pode até ser cômodo, mas não vai te fazer sair do lugar, lê o erro que aparece na StackTrace que o Java tem o mó trabalho de montar e exibir pra tí, tenta buscar o no Google o porque que aquele erro ocorre e como ajustá-lo, daí sim, com alguma dúvida palpável, volte ao fórum e esclareça a sua dúvida específica.

esdras_63, sei que a vida e o tempo são seus, mas esse tipo de atitude realmente joga a qualidade do fórum lá pra baixo, além de não ajudar em nada quem realmente está precisando de uma ajuda real.

Peço aos Srs que não encarem como nada pessoal e nem como ofensa, é apenas um alerta real de quem quer ajudar.

Recomendo dortemente aos 2, o link que se encontra em minha assinatura que é um guia de sobrevivência em fóruns, que é o “Como fazer Perguntas Inteligentes”, depois dele, garanto que entenderão meu ponto de vista.

Abs[] e sucesso.

wesleysilva

Obrigado irmao ficou muito bom, mas ta faltando uma simples coisa, qndo acaba os refri ele ainda continua fazendo a venda e esta errado tem q criar uma condiçaozinha
caso os refri acabar dizer sem refri, mas nao to conseguindo, a que eu fiz aki faz a venda de pois fala q os refri acabou.

como eu faço??

nel

wesleysilva:
Obrigado irmao ficou muito bom, mas ta faltando uma simples coisa, qndo acaba os refri ele ainda continua fazendo a venda e esta errado tem q criar uma condiçaozinha
caso os refri acabar dizer sem refri, mas nao to conseguindo, a que eu fiz aki faz a venda de pois fala q os refri acabou.

como eu faço??

Oi!

E você fez algo? O que eu vejo é alguém postando um código completo e você pedindo mais e mais.
Tira um pouco a preguiça e presta atenção no seu código, faça teste de mesa, encha de log para acompanhar o andamento do sistema e garanto que vai descobrir a solução sem que alguém tenha de vir postar código para você.

:slight_smile:

wesleysilva

Ate a proxima valeu pelas dicas galera!

Criado 25 de agosto de 2011
Ultima resposta 26 de ago. de 2011
Respostas 35
Participantes 6