Exercício 3.12 - Java Como Programar 10ª Edição

Sou iniciante da java. fiz um exercício mais ou menos assim…

Exercício 3.12:
(Classe Invoice) Crie uma Classe chamada Invoice para que uma loja de suprimentos de informática possa utilizá-la para representar uma fatura de um item vendido na loja. uma Invoice(fatura) deve incluir quatro partes das informações como variáveis de instância - o número(String), a descrição(String),a quantidade comprada de um item(int) e o preço por item(double). sua classe deve ter um construtor que inicializa as quatros variáveis de instância. forneça um método set e um get para cada variável de instância. Além disso,forneça um método chamado getInvoiceAmount que calcula a quantidade de fatura e depois retorna a quantidade como um valor double. se a quantidade não for positivo, ele dever ser configurada como 0. se o preço por item não for positivo. ele deve ser configurado como 0.0. Escreva um aplicativo de teste chamado InvoiceTeste que demostra as capacidades da Classe Invoice.

esse comando que fiz…

Classe Invoice


public class Invoice {
    private String numero; // variável de instância
    private String descricao; // variável de instância
    private int quantidadeComprada; // variável de instância
    private double preco;// variável de instância

    // Construtor
    public Invoice(String numero, String descricao, int quantidadeComprada, double preco) {
        this.numero = numero;
        this.descricao = descricao;
        if (quantidadeComprada > 0) { // se a quantidade for válida
            this.quantidadeComprada = quantidadeComprada; // atribui a variavel quantidade comprada
        }
        if (preco > 0) { // se o preco for válido
            this.preco = preco; // atribui a variável preco
        }
    }
    double valorTotal;
    public void getInvoiceAmount(double quantidadeComprada, double preco) { // método que calcula o valor da fatura
        if (quantidadeComprada > 0 && preco > 0.0) {
            valorTotal = quantidadeComprada * preco; // calcula e adiciona o valor da fatura
        } else {
            quantidadeComprada = 0; // configurada como 0 por ser negativa
            preco = 0.0; // configurada como 0 por ser negativa
        }
    }

    public String getNumero() {
        return numero;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public int getQuantidadeComprada() {
        return quantidadeComprada;
    }

    public void setQuantidadeComprada(int quantidadeComprada) {
        this.quantidadeComprada = quantidadeComprada;
    }

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }
}

Classe InvoiceTest


public class InvoiceTest {
    public static void main(String[] args) {
        Invoice invoice1 = new Invoice("1", "Assinatura Netflix", 1, 0.0);
        Invoice invoice2 = new Invoice("2", "Casas Bahia/Home Theater Philco 3/12", 2, 0.0);

        //exibe a descrição de cada objeto
        System.out.printf("Item %s: %s - Quantidade comprada: %d - Preço: %.2f%n", invoice1.getNumero(), invoice1.getDescricao(),
                invoice1.getQuantidadeComprada(), invoice1.getPreco());
        System.out.printf("Item %s: %s - Quantidade comprada: %d - Preço: %.2f", invoice2.getNumero(), invoice2.getDescricao(),
                invoice2.getQuantidadeComprada(), invoice2.getPreco());

        invoice1.getInvoiceAmount(1, 59.90);
        invoice2.getInvoiceAmount(2, 399.90);

        System.out.printf(" %.2f" + getInvoiceAmount);

    }
}

Não estou conseguindo chamar o método getInvoiceAmount, para que ele faça o cálculo do valor total da fatura e exiba as informações.

Você só conseguirá chamar o método getInvoiceAmount a partir de uma instância da classe Invoice que é a detentora do método.

Assim como você fez nas duas linhas acima!