Crie uma classe chamada Fornecedor

Crie uma classe chamada Fornecedor, utilizando linguagem Java e da forma mais
Orientada a Objetos possível, com a estrutura definida a seguir:

classe Fornecedor

String razaoSocial
String endereco
String telefone
double limiteDoFornecedor
final double LIMITE_OPERACAO = 5000
static double numeroCompras = 0

Fornecedor(String, String, String, double)
void comprar(double)
void mostrarDados()
boolean compraOK()
boolean limiteOK()

Implemente esta classe com os atributos listados acima e com os métodos conforme
definição a seguir:
• Fornecedor: método construtor responsável em receber os valores correspondentes e inicializar os atributos da classe Fornecedor.
• mostrarDados(): método responsável em imprimir na tela todos os atributos da classe Fornecedor.
• boolean compraOK(double) : método responsável em verificar se o valor da compra (passado por parâmetro) não é maior que o valor da operação definida para todos os fornecedores, retornando um booleano correspondente.
• boolean limiteOK(double): método responsável em verificar se a compra (limite – compra > 0), não estourou o limite para o fornecedor, retornando um booleano correspondente.
• comprar(double): método responsável em receber um valor de compra por parâmetro e efetivar a compra propriamente; neste processo o sistema deverá verificar se a compra está OK e também se o limite está OK, chamando os métodos correspondentes e, caso esteja tudo OK, debitar do limite
correspondente ao fornecedor. Após a compra ser efetivada, deverá contar a compra no número de compras gerais efetuadas.

public class Fornecedor {

public String razaoSocial;
public String endereco;
public String telefone;
public double limiteDoFornecedor;
public final double LIMITE_OPERACAO = 5000;
public static double numeroCompras = 0;

public Fornecedor() {
}

public Fornecedor(String raz, String end, String tel, double lim) {
    razaoSocial = raz;
    endereco = end;
    telefone = tel;
    limiteDoFornecedor = lim;
}

public void comprar(double valor)
{
    if (this.compraOK(valor) == true && this.limiteOK(valor) == true) {
        numeroCompras++;
    } else {
    }
}

public void mostrarDados()
{
    System.out.println("Empresa: " + razaoSocial + ", Endereco: " + endereco
            + ", Telefone: " + telefone + ", Compra: " + "TRUE Ou FALSE"
            + ", Compras: " + numeroCompras);
}

public boolean compraOK(double valor)
{
    if (valor <= this.LIMITE_OPERACAO) {
        return true;
    } else {
        return false;
    }
}

public boolean limiteOK(double valor)
{
    if (valor <= limiteDoFornecedor) {
        return true;
    } else {
        return false;
    }
}

}

Fornecedor compra = new Fornecedor(“Empresa A”, “Rua A”, “1234-5678”, 40000);
compra.comprar(555.60);
compra.mostrarDados();

Gostaria de saber se alguém pode me tirar uma dúvida: do modo que estou fazendo está certo?
Estou tendo uma certa dificuldade para fazer esse exercício.
Agradeço quem puder me tirar essa dúvida.

Analise que algumas variáveis e alguns métodos podem ter o modificador de acesso alterado (mais comum public/private).
O seu construtor funciona, mas poderia utilizar o this.razaoSocial = razaoSocial;, para diferenciar o atributo da variável e ficar mais legível, embora seja opcional.

Método comprar está incompleto, pense no que será feito quando a condição for verdadeira ou o que retorna se for falsa.
Método mostrarDados falta a indicação da condição da “Compra:”.
Método limiteOK, a condição não está de acordo com o enunciado, repense ele.
Sugestão: Na classe de TesteFornecedor, utilize mais de uma compra para validar os métodos da classe Fornecedor.