Created
October 31, 2017 09:44
-
-
Save Gabrielgtt/54a1931cd47ba4dd102a42124f0fcf6b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Conta de um aluno em uma cantina. | |
* | |
* @author Gabriel Alves Tavares | |
*/ | |
import java.util.ArrayList; | |
public class ContaCantina { | |
private String nome; | |
private int divida; | |
private int qtdItensComprados; | |
private ArrayList <String> descricaoItens; | |
/** | |
* Constrói a conta a partir de seu nome. Toda conta começa com sua dívida zerada | |
* | |
* @param nomeDaCantina: nome da cantina | |
*/ | |
public ContaCantina(String nomeDaCantina){ | |
this.nome = nomeDaCantina; | |
this.divida = 0; | |
this.qtdItensComprados = 0; | |
this.descricaoItens = new ArrayList <String>(); | |
} | |
/** | |
* Cadastra um lanche comprado pelo aluno | |
* | |
* @param qtdItens: quantidade de itens comprados | |
* @param valorCentavos: preço do lanche | |
* @param detalhes: descrição do lanche que é armazenada n início de um ArrayList | |
*/ | |
public void cadastraLanche(int qtdItens, int valorCentavos, String detalhes){ | |
this.divida += valorCentavos; | |
this.qtdItensComprados += qtdItens; | |
this.descricaoItens.add(0, detalhes); | |
} | |
/** | |
* Cadastra um lanche comprado pelo aluno sem detalhes | |
* | |
* @param qtdItens: quantidade de itens comprados | |
* @param valorCentavos: preço do lanche | |
*/ | |
public void cadastraLanche(int qtdItens, int valorCentavos){ | |
this.divida += valorCentavos; | |
this.qtdItensComprados += qtdItens; | |
} | |
/** | |
* Lista os 5 últimos detalhes de lanches | |
* | |
* @return uma string os 5 últimos detalhes de lanches, concatenados por vírgulas | |
*/ | |
public String listarDetalhes(){ | |
String listaDetalhes = ""; | |
for (int i=0; i<descricaoItens.size() && i<5; i++){ | |
listaDetalhes += descricaoItens.get(i); | |
// Inserindo vírgulas entre as descrições | |
if (i != 4 && i != descricaoItens.size()-1){ | |
listaDetalhes += ", "; | |
} | |
} | |
return listaDetalhes; | |
} | |
/** | |
* Diminui a dívida do aluno | |
* | |
* @param valorCentavos: valor diminuido na dívida | |
*/ | |
public void pagaConta(int valorCentavos){ | |
this.divida -= valorCentavos; | |
} | |
/** | |
* Representação em String da contaCantina | |
* | |
* @return uma string com o nome da cantina, qtds de itens comprado e a dívida na cantina | |
*/ | |
public String toString(){ | |
return String.format("%s %d %d", this.nome, this.qtdItensComprados, this.divida); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment