Classe MaquinaDeRefri

10 respostas
D

Pessoal, estou desesperado p/ fazer um programa q meu professor da faculdade pediu. Alguém pode me ajudar?O enuncioado é o seguinte:

  1. Crie uma classe chamada venda refrigerante q instancie um obj da classe máq refrigerante e efetue a venda de alguns refrigerantes.

2)crie uma classe chamada maquina refrigerante que possua o atributo qtd do tipo INT. Crie seus metodos de acesso, onde no metodo get tenha o seguinte algoritmo:
se qtd > 0
informe qts refrigerantes existem na máquina.
senão
informe que a máquina esta vazia.

Crie também o método construtor da classe.
Crue um método chamado efetua venda que possua o seguinte algorítimo:
se qtd > 0
vender refrigerante
senão
informe q a máq. está vazia

[color=“darkblue”]Titulo do post editado por AnotherX para dar + clareza[/color]

10 Respostas

T
MaquinaDeRefri.java
public class MaquinaDeRefri 
{
   private int quantidade = 0;
   
   /**
   /* cria um objeto MaquinaDeRefri que contém o total de refrigerantes
   /* igual a quantidade
   /* @param quantidade Quantidade inicial de refrigerantes na makina.
    */
   public MaquinaDeRefri(int quantidade)
   {
      //passa o valor informado para a quantidade de refrigerantes... 
      //para a variavel global quantidade.
      this.quantidade = quantidade;
   }
   
   /**
   /* busca o total de refrigerantes em estoque
   /* @return total de refrigerantes em estoque
    */
   public int getEstoque() {
      return this.quantidade;
   }
   
   /**
   /* vende um refrigerante, caso não haja refrigerante no
   /* estoque, retorna falso.
   /* @return true caso venda o refrigerante, e false, caso
   /* não haja mais refrigerantes em estoque para venda
    */
   public boolean sale() {
      //verifica se há refrigerantes para venda
      if (this.quantidade > 0) {
         //retira o refrigerante do estoque
         this.quantidade--;
         //retorna verdadeiro
         return true;
      //entra aqui quando não há refrigerantes no estoque
      } else {
         //retorna falso
         return false;
      }
   }
}
ta ai a makina... mais abaixo vou escrever o vendedor
T
VendinhaDeRefri.java
public class VendinhaDeRefri
{
   //cria uma makina de refrigerante com 20 refris dentro.
   private MaquinaDeRefri maquina = new MaquinaDeRefri(20);

   public VendinhaDeRefri() { }
   
   /**
    * pergunda a vendinha se há refrigerentes no estoque
    * @return uma msg falando se há ou não refrigerantes
    */
   public String hasRefriMsg() 
   {
      //Se houver refrigerante retorna a msg abaixo
      if (this.maquina.getEstoque() > 0)
         return "Sim Sr., nos temos refrigerante.";
      //Se não houver retorna está msg abaixo
      else
         return "Desculpe-me Sr., os refrigerantes acabaram.";
   }
   
   /**
    * Retorna uma msg falando quantos refrigerantes há
    * dentro da makina de refrigerantes...
    * @return quantidade de refrigerantes.
    */
   public String getNumberOfRefriMsg() 
   {
      //retorna a seguinte msg para o caso de mais de 1 refrigerante
      if (this.maquina.getEstoque() > 1)
         return "Sr., nos temos " + this.maquina.getEstoque() + " refrigerantes em estoque";
      //retorna a mesma mensagem de cima,  que no singular
      else if (this.maquina.getEstoque() == 1)
         return "Sr., nos temos 1 refrigerante em estoque";
      //retorna uma msg informando que não  refrigerantes
      else
         return "Desculpe-me Sr., os refrigerantes acabaram.";
   }

   /**
    * método para vender refrigerantes
    * return a msg do vendedor.
    */
   public String saleRefri() 
   {
      //retorna uma msg de venda caso haja refrigerantes pra vender
      if (this.maquina.sale())
      {
         return "Pronto Sr., está aqui o seu refrigerante";
      }
      else
         return "Desculpe-me Sr., os refrigerantes acabaram.";
   }
}

bom   mando um programinha q use a classe de venda.... pra interagir com o cliente
T
Bom agora vamos ao melhor... ao programa Main.java
import java.io.*;
public class Main
{
   //este método é executado quando o programa for rodado
   public static void main(String[] args)
   {
	  //cria a venda de refrigentes...
	  VendinhaDeRefri vendinha = new VendinhaDeRefri();
	  //marka a entrada no loop
	  boolean loop = true;
	  int code = -1;
      System.out.println("Pois não senhor, o que deseja");
	  //executa o codigo dentro do while enquanto loop == true
	  while (loop)
	  {
         //imprme as opções na tela
         printOpcoes();
         //ler um dado que a pessoa digitou
         DataInputStream in = new DataInputStream(System.in);
         try {
            code = Integer.parseInt(in.readLine());
         } catch (Exception ex) {ex.printStackTrace();}
		 //pula uma linha
		 System.out.println();
		 //verifica qual opção foi escolhida
		 switch(code) {
			case 1:
			   //imprime a msg na tela
			   System.out.println(vendinha.hasRefriMsg());
			   //para o teste das opções
			   break;
			case 2:
				//imprime a msg na tela
			   System.out.println(vendinha.getNumberOfRefriMsg());
			   //para o teste das opções
			   break;
			case 3:
				//imprime a msg na tela
			   System.out.println(vendinha.saleRefri());
			   //para o teste das opções
			   break;
			case 4:
				//imprime a msg na tela
			   System.out.println("Tchau Sr.");
			   //neste caso especifico... ajusta para sair do loop e do programa
			   loop = false;
			   //para o teste das opções
			   break;
			default:
				//imprime a msg na para o caso de não ter escolhido
				//uma opção correta
				System.out.println("Desculpe Sr., eu não entendi o seu pedido");
		 }
	  }
   }
   
   public static void printOpcoes() {
	  System.out.println();
	  System.out.println("1 - Você tem refrigerantes?");
	  System.out.println("2 - Quantos refrigerantes você tem");
	  System.out.println("3 - Eu quero comprar 1 refrigerantes");
	  System.out.println("4 - Obrigado, vou indo");
	  System.out.println();
   }
}

PRONTO TA AI... dei umas editada... mas ta funfado... ja testei aki

t+

M

beeeii…o another se puxou… sou testemunha q ele ficou uma madrugada toda fazendo esse trabalho ai! não respondia no icq nem nd! uhaehu…, AnotherX é: USUARIO ATIVO.

:assalt:

T

bom... rodei aki o programa... ai vai o resultado do teste.....

CARA VC ME DEVE UMA UAHUHUHAuhAuhauhaUHaHUahua

Pois não senhor, o que deseja

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

1

Sim Sr., nos temos refrigerante.

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

2

Sr., nos temos 20 refrigerantes em estoque

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

3

Pronto Sr., está aqui o seu refrigerante

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

3

Pronto Sr., está aqui o seu refrigerante

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

3

Pronto Sr., está aqui o seu refrigerante

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

2

Sr., nos temos 17 refrigerantes em estoque

1 - Você tem refrigerantes?
2 - Quantos refrigerantes você tem
3 - Eu quero comprar 1 refrigerantes
4 - Obrigado, vou indo

4

Tchau Sr.

vou durmir agora :pulando: :up: :lolgoku: :smurf:

D

dinhobandeira, quanto vc vai pagar p/ o AnotherX hauhauhauhauhuaha, o kra fez tudo meu… isso é q é um kra q gosta de Java… pense :smiley:

T

pois é mah!1

mas os meritos deste trecho do código saum seus

//ler um dado que a pessoa digitou DataInputStream in = new DataInputStream(System.in); try { code = Integer.parseInt(in.readLine()); } catch (Exception ex) {ex.printStackTrace();}

vlw
t+

D

Pow galera,

Valeu mesmo. Vcs são rápidos p/ responder (velozes e furiosos). hehehe
Brigadão.

Um dia ainda vou sacar Java qnem vcs. hehehe
mas por enqto aida tô mó zé mané.

tank´s

D

aew AnotherX tava dando uma olhada na API do java e vi q o jeito que eu disse p/ ler a linha do console tava deprecated… a outra maneira seria
usar a classe BufferedReader…

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String a = in.readLine();

Foi mal aew… mas do outro jeito tb ta certo… só tá deprecated, pq eles preferem q os programadores usem BufferedReader… em todos os meus trabalhos usava DataInputStream… mas vi num topic daqui algo sobre o BufferedReader p/ ler as linhas do console… Tipo tb não via nenhuma msg de deprecated quando ia compilar :D, por isso que nunca tinha ido atrás de outra maneira p/ fazer

T

“do_bau”:
aew AnotherX tava dando uma olhada na API do java e vi q o jeito que eu disse p/ ler a linha do console tava deprecated… a outra maneira seria
usar a classe BufferedReader…

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String a = in.readLine();

Foi mal aew… mas do outro jeito tb ta certo… só tá deprecated, pq eles preferem q os programadores usem BufferedReader… em todos os meus trabalhos usava DataInputStream… mas vi num topic daqui algo sobre o BufferedReader p/ ler as linhas do console… Tipo tb não via nenhuma msg de deprecated quando ia compilar :D, por isso que nunca tinha ido atrás de outra maneira p/ fazer

é realmente… naum da mensagem de deprecated… tanto q compilei aki e rodei e num vi nada deprecated =]
mas ja tinha visto com BufferReader … mas naum custumo usar DOs…

vlw ai pela ajuda DO_BAU … :dance:

Criado 18 de março de 2004
Ultima resposta 18 de mar. de 2004
Respostas 10
Participantes 4