Será que estou validando corretamente o get neste exercício?

• Valide a quantidade comprada do item, se ela não for positiva deve ser configurada como 0 (zero);
• Valide o valor unitário do item, se ele não for positivo deve ser configurado como 0.00 (zero);
identar texto pré-formatado por 4 espaços

package atividade1;

public class Fatura
{

private int numeroItem;
private String descricao;
private int quantidadeComprada;
private double valorUnitario;

public Fatura(int numeroItem, String descricao, int quantidadeComprada, double valorUnitario) {
    this.numeroItem = numeroItem;
    this.descricao = descricao;
    this.quantidadeComprada = quantidadeComprada;
    this.valorUnitario = valorUnitario;
}

public int getNumeroItem() 
{
    return numeroItem;
}

public String getDescricao()
{
    return descricao;
}

public int getQuantidadeComprada() 
{
    if (quantidadeComprada > 0) 
    {
        return this.quantidadeComprada = quantidadeComprada;
    } else
    {
        return this.quantidadeComprada = 0;
    }
}

public double getValorUnitario()
{
    if (valorUnitario > 0.00) 
    {
        return this.valorUnitario = valorUnitario;
    } else {
        return this.valorUnitario = 0;
    }
}

public double valorFatura() 
{
    return quantidadeComprada * valorUnitario;
}

}
package atividade1;

public class Principal
{

public static void main(String[] args) 
{
    Fatura fatura1 = new Fatura(1, "Arroz", 2, 10.00);
    System.out.println("Id item comprado: " + fatura1.getNumeroItem() + " Descricao: " + fatura1.getDescricao()
            + " Quantidade comprada: " + fatura1.getQuantidadeComprada() + " valor unitario: " + fatura1.getValorUnitario());
    System.out.println("Valor total da Fatura: " + fatura1.valorFatura());

}

}

Quando postar código no fórum, selecione ele todinho e clica no botão </> para formatá-lo.
Acho que você está clicando no botão antes de postar o código…

Eu faria a validação no próprio construtor, que é onde os valores são atribuídos:

public Fatura(int numeroItem, String descricao, int quantidadeComprada, double valorUnitario) {
    this.numeroItem = numeroItem;
    this.descricao = descricao;
    this.quantidadeComprada = quantidadeComprada > 0 ? quantidadeComprada : 0; 
    this.valorUnitario = valorUnitario > 0 ? valorUnitario : 0;
}
1 curtida

Bom dia , eu refiz ele, parece que tem que ser dentro do construtor , né nesse caso ? Eu tinha feito assim depois.

public Fatura(int numeroItem, String descricao, int quantidadeComprada, double valorUnitario) {
this.numeroItem = numeroItem;
this.descricao = descricao;
if (quantidadeComprada > 0)
{
this.quantidadeComprada = quantidadeComprada;
} else
{
this.quantidadeComprada = 0;
}
if (valorUnitario > 0.00)
{
this.valorUnitario = valorUnitario;
} else {
this.valorUnitario = 0;
}
}

Isso mesmo.

DICA: Sempre que postar código no fórum, usa o botão de texto pré formatado, identificado pelo botão </>.

Se você não formatar, fica horrível de ler o código, veja:

SEM FORMATAÇÃO:

public Fatura(int numeroItem, String descricao, int quantidadeComprada, double valorUnitario) {
this.numeroItem = numeroItem;
this.descricao = descricao;
if (quantidadeComprada > 0)
{
this.quantidadeComprada = quantidadeComprada;
} else
{
this.quantidadeComprada = 0;
}
if (valorUnitario > 0.00)
{
this.valorUnitario = valorUnitario;
} else {
this.valorUnitario = 0;
}
}

AGORA COM FORMATAÇÃO:

public Fatura(int numeroItem, String descricao, int quantidadeComprada, double valorUnitario) {
    this.numeroItem = numeroItem;
    this.descricao = descricao;
    if (quantidadeComprada > 0) {
        this.quantidadeComprada = quantidadeComprada;
    } else {
        this.quantidadeComprada = 0;
    }
    if (valorUnitario > 0.00) {
        this.valorUnitario = valorUnitario;
    } else {
        this.valorUnitario = 0;
    }
}

Como formatar?

Após postar copiar e colar o código no fórum, seleciona ele e clica no botão </>.

Veja o exemplo abaixo:

exemplo

1 curtida

Valeu ai amigo, aprendendo a lidar com o site, agora eu tenho que fazer o dos números complexos.