[code]/*5) Escreva uma classe Copo. Esta classe tem o atributo capacidade que corresponde à
quantidade de líquido que pode ser colocado no copo (em mililitros). Escreva os métodos:
construtor, de acesso, modificador e o método calculaNumeroDeCopos(). O construtor
inicia o atributo capacidade com um valor fornecido por parâmetro. O método
calculaNumeroDeCopos() recebe um valor em litros (por parâmetro) e retorna a
quantidade de copos necessária para armazenar toda a água. Dado: 1 litro = 1000
mililitros.
*/
public class Copo{
private int capacidade ;
public Copo (int capacidade ){
this.capacidade = capacidade ;
}
public int getCapacidade () {
return capacidade;
}
public void setCapacidade (){
this.capacidade = capacidade ;
}
public int calculaNumeroDeCopos(int valorEmLitros){
int ml = 1000;
int total = ml * valorEmLitros;
int quantidade = 1;
int cont = getCapacidade ();
total = ml* valorEmLitros;
while ( total > cont ){
cont = cont + getCapacidade() ;
quantidade = quantidade + 1 ;
}
return quantidade;
}
}
[/code]
Opa garelaaa, estou começando em java é a melhor forma de fazer usei muitas variáveis ;s
abraaçoo
public class Copo {
private int capacidade;
public Copo(int capacidade) {
this.setCapacidade(capacidade);
}
// Ok, mas mudar a capacidade de um copo depois de criado? :-P
private void setCapacidade(int capacidade) {
this.capacidade = capacidade;
}
public int getCapacidade() {
return this.capacidade;
}
// EDIT: Deveras. Volume é em litros.
public int calcularNumCopos(float volume) {
return (int) Math.ceil(volume * 1000 / capacidade);
}
}
[quote=van bommel][code]
public int calculaNumeroDeCopos(int valorEmLitros){
int ml = 1000;
int total = ml * valorEmLitros;
int quantidade = 1;
int cont = getCapacidade ();
total = ml* valorEmLitros;
while ( total > cont ){
cont = cont + getCapacidade() ;
quantidade = quantidade + 1 ;
}
return quantidade;
}
}
[/code][/quote]
[quote=luciano.eti]public double calculaNumeroDeCopos(double litros) {
return ((litros * 1000) / getCapacidade());
} [/quote]
Não sei se você percebeu, mas acabou fazendo uma demonstração de como reduzir uma divisão a uma soma. Você daria um programador assembly.
Van bommel,
Fica esperto com a seguinte situação: se o resultado da operação for, por exemplo: 2,3 (volume* 1000 / capacidade), nesse caso o resultado que deve ser retornado é 3(arrendodamento para um inteiro, mas não menor que o resultado).
Para tanto, deve-se usar a instrução que foi citada acima.