Ola galera bom dia, estou tentando fazer uma máquina de refrigerante em java, meu codigo tem q ter encapsulamento, so tive uma uma sobre essa funçao,
alguem pode me ajudar a começar meu codigo!
Grato,
Ola galera bom dia, estou tentando fazer uma máquina de refrigerante em java, meu codigo tem q ter encapsulamento, so tive uma uma sobre essa funçao,
alguem pode me ajudar a começar meu codigo!
Grato,
Primeiramente pense um pouquinho e pense o que tem de ter a sua máquina de refrigerante. Como você está começando a aprender Java, então deve ser uma coisa muito simples; vou fazer umas perguntinhas.
a) Você pode escolher várias marcas de refrigerante, ou ela só vende Coca-Cola?
b) Se houver várias marcas, há refrigerantes mais caros e mais baratos, ou todas são do mesmo preço?
c) A máquina tem de dar troco, ou ela aceita só fichas (cada ficha corresponde a um refrigerante?)
d) A máquina aceita moedas ou cédulas?
e) Você precisa mostrar o saldo enquanto a pessoa está pondo dinheiro?
f) Se a pessoa apertar o botão e não houver saldo suficiente, o que acontece?
g) Depois que a pessoa receber o refrigerante, como ela recebe o troco?
h) Se a pessoa apertar o botão mas o refrigerante não estiver disponível, o que você faz?
i) Se a pessoa apertar o botão, mas não houver troco suficiente, o que ocorre?
j) Existe um botão que a pessoa possa apertar para cancelar o troco e receber o dinheiro de volta?
k) Existe um relatório que o dono da máquina possa obter dizendo qual é o estoque (quantas latas de cada refrigerante a máquina ainda tem) e qual o dinheiro existente na máquina?
Essas perguntas são essenciais para você montar seu programa. Responda todas direitinho e vai ver que é bem mais fácil montar o programa. Você pode simplificar bem o problema, ou pode montar uma máquina “de verdade”. Pode até fazer mais perguntas.
a) Você pode escolher várias marcas de refrigerante, ou ela só vende Coca-Cola?
ela so vende Coca-Cola
b) Se houver várias marcas, há refrigerantes mais caros e mais baratos, ou todas são do mesmo preço?
todas sao do mesmo preço
c) A máquina tem de dar troco, ou ela aceita só fichas (cada ficha corresponde a um refrigerante?)
a máquina tem de dar troco
d) A máquina aceita moedas ou cédulas?
cédulas
e) Você precisa mostrar o saldo enquanto a pessoa está pondo dinheiro?
precisa mostrar a quantidade de latas de refrigerante
f) Se a pessoa apertar o botão e não houver saldo suficiente, o que acontece?
saldo insuficiente, por favor insira quantidade maior
g) Depois que a pessoa receber o refrigerante, como ela recebe o troco?
se valor maior que valor do refri. recebe o troco
h) Se a pessoa apertar o botão mas o refrigerante não estiver disponível, o que você faz?
exibe uma mensagem dizendo refrigerante nao disponivel
i) Se a pessoa apertar o botão, mas não houver troco suficiente, o que ocorre?
troco insuficiente compre outro refri
j) Existe um botão que a pessoa possa apertar para cancelar o troco e receber o dinheiro de volta?
sim
k) Existe um relatório que o dono da máquina possa obter dizendo qual é o estoque (quantas latas de cada refrigerante a máquina ainda tem) e qual o dinheiro existente na máquina?
sim
Uma forma comum de fazer encapsulamento é você começar seu programa sem encapsulamento, fazê-lo funcionar, e então ir encapsulando as partes necessárias.
Peça ajuda aqui para descobrir o que é necessário para encapsular seu programa “não encapsulado”.
primeiro quero começar a criar meu programa ele tem q ser orientando a objeto ou seja tem q ter duas class a principal onde vai ficar o metodo main e a outra.
como começo
[quote=wesleysilva]primeiro quero começar a criar meu programa ele tem q ser orientando a objeto ou seja tem q ter duas class a principal onde vai ficar o metodo main e a outra.
como começo[/quote]
Por que só 2 classes? Pode ter mais ou menos.
Algumas coisas você pode representar como objetos e outras como números mesmo. No problema acima, o que você acha que são objetos, e o que você acha que são só números?
Quando você precisa entregar esse trabalho na faculdade?
dia 30 prq amigo
boa sorte, você têm 13 dias pra aprender o que você não aprendeu em aula!!!
amigo ainda nao esta totalmente resolvido vou postar aki minhas class quero implementar-las com o custo de cada lata de refrigerante vc pode me ajudar.
class.
public class MaquinaDeRefri
{
private int quantidade = 0;
public MaquinaDeRefri(int quantidade)
{
// passa o valor informado para a quantidade de refrigerantes para a variavel global quantidade.
this.quantidade = quantidade;
}
public int getEstoque()
{
return this.quantidade;
}
public boolean venda()
{
// 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;
}
}
}
class venda
public class Venda
{
// cria uma makina de refrigerante com 10 refrigerantes.
private MaquinaDeRefri maquina = new MaquinaDeRefri(10);
public String hasRefriMsg()
{
// Se houver refrigerante retorna a msg abaixo
if (this.maquina.getEstoque() > 0)
return "Sim, temos refrigerante.";
// Se não houver retorna está msg abaixo
else
return "Desculpe-me, os refrigerantes acabaram.";
}
public String getNumerodeRefri()
{
// retorna a seguinte msg para o caso de mais de 1 refrigerante
if (this.maquina.getEstoque() > 1)
return "Temos " + this.maquina.getEstoque()+ " refrigerantes em estoque";
// retorna a mesma mensagem de cima, se que no singular
else if (this.maquina.getEstoque() == 1)
return "Temos 1 refrigerante em estoque";
// retorna uma msg informando que nao ha refrigerantes
else
return "Desculpe os refrigerantes acabaram.";
}
/**
* metodo para vender refrigerantes return a msg do vendedor.
*/
public String saleRefri()
{
// retorna uma msg de venda caso haja refrigerantes pra vender
if (this.maquina.venda())
{
return "Pronto Sr., está aqui o seu refrigerante";
} else
return "Desculpe-me Sr., os refrigerantes acabaram.";
}
}
class principal main
import java.io.*;
public class Main
{
//este metodo é executado quando o programa for rodado
public static void main(String[] args)
{
//cria a venda de refrigentes...
Venda vendaRefri = new Venda();
//marka a entrada no loop
boolean loop = true;
int iopçao = -1;
System.out.println("Bem Vinda a Máquina de Refrigerante Cola-Cola");
//executa o codigo dentro do while enquanto loop == true
while (loop)
{
//imprme as opçoes na tela
printOpcoes();
//ler um dado que a pessoa digitou
DataInputStream in = new DataInputStream(System.in);
try
{
iopçao = Integer.parseInt(in.readLine());
} catch (Exception ex) {ex.printStackTrace();}
//verifica qual opçao foi escolhida
switch(iopçao) {
case 1:
//imprime a msg na tela
System.out.println(vendaRefri.hasRefriMsg());
//para o teste das opçoes
break;
case 2:
//imprime a msg na tela
System.out.println(vendaRefri.getNumerodeRefri());
//para o teste das opçoes
break;
case 3:
//imprime a msg na tela
System.out.println(vendaRefri.saleRefri());
//para o teste das opçoes
break;
case 4:
//imprime a msg na tela
System.out.println("Obrigado Senhor.");
//neste caso especifico... ajusta para sair do loop e do programa
loop = false;
//para o teste das opçoes
break;
default:
//imprime a msg na para o caso de nao ter escolhido
//uma opçao 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 - Sair");
System.out.println();
}
}
Suas respostas estão um pouco confusas cara,
"
b) Se houver várias marcas, há refrigerantes mais caros e mais baratos, ou todas são do mesmo preço?
todas sao do mesmo preço
i) Se a pessoa apertar o botão, mas não houver troco suficiente, o que ocorre?
troco insuficiente compre outro refri
"
você quis dizer:
compre MAIS um refrigerante ou compre OUTRO refrigerante? e se o dinheiro do cliente não for suficiente para outro refrigerante,
o cliente consegue o seu dinheiro de volta?
b) Se houver várias marcas, há refrigerantes mais caros e mais baratos, ou todas são do mesmo preço?
so tem uma marcar de refrigerante coca-cola e vai valer um preço fixo
i) Se a pessoa apertar o botão, mas não houver troco suficiente, o que ocorre?
primeiro tem q calcular se tem troco, se nao tiver troco devove o dinheiro e informa: troco insuficiente favor entrar com outro valor em dinheiro