Função "main" dando erro na função

O exercício é o seguinte:

Escreva um programa que leia um número decimal do usuário. Após a leitura, verifique se
o número é maior ou igual a 50,0. Caso verdadeiro, mostre a mensagem “SUCESSO”. Caso
falso, mostre a mensagem “ERRO”.

Quando chamo as funções o NetBeans diz pra eu iniciarlizar a variável (“a” e “v”) dentro do main, mas eu já iniciei nas funções de cima, alguém pode me ajudar?

    public static float leitura(float v) {
        float a = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite um valor"));
        return a;
    }
    
    public static boolean verificar(float a) {

        if (a >= 50.0) {
            return true;
        } else {
            return false;

        }
    }

    public static void main(String[] args) {
        leitura(a);
        verificar(v);

        if (verificar(a) == true) {
            JOptionPane.showMessageDialog(null, "SUCESSO");
            JOptionPane.showMessageDialog(null, "FIM DO PROGRAMA");
        }else{
            JOptionPane.showMessageDialog(null, "ERRO");
            JOptionPane.showMessageDialog(null, "FIM DO PROGRAMA");
        }

    }
}

Onde tem a variável inicializada ai? veja se não esqueceu de postar algum código.

Acho melhor você iniciar a variavel a fora de qualquer metodo. E tirar os parametros dos metodo leitura(); e verificar(); já que você não está usando eles de forma correta


import javax.swing.JOptionPane;
public class EX18 {
     float a = 0;
    
    public void leitura() {
    a = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite um valor"));
}
    
    
    public  boolean verificar() {
        if (a >= 50.0) {
        return true;
    } else {
        return false;

    }}

    public static void main(String[] args) {
        
        EX18 ex = new EX18();
        ex.leitura();
        ex.verificar();
        
        if (ex.verificar()) {
            System.out.println("Sucesso");
            
        } else {
            System.out.println("Sem sucesso");
        }
    }
}

Olá na verdade não precisa iniciar a variável afinal você criou métodos staticos não é mesmo? então basta chamar os mesmos a partir de sua detentora que no caso é a classe em questão, se você estiver construindo tudo na mesma classe isso deve funcionar até mesmo sem a presença da classe somente chamando o método em questão, apenas ressalto para rever sua lógica.
`
import javax.swing.JOptionPane;

public class VerificaNumeroMaior50 {

public static float leitura() {
    float v = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite um valor"));
    return v;
}

public static boolean verificar(float a) {

    if (a >= 50) {
        return true;
    } else {
        return false;

    }
}

public static void main(String[] args) {
	float leitura = VerificaNumeroMaior50.leitura();
	
	boolean valor = VerificaNumeroMaior50.verificar(leitura);
	
   if (valor == true) {
        JOptionPane.showMessageDialog(null, "SUCESSO");
        JOptionPane.showMessageDialog(null, "FIM DO PROGRAMA");
    }else{
        JOptionPane.showMessageDialog(null, "ERRO");
        JOptionPane.showMessageDialog(null, "FIM DO PROGRAMA");
    }

}

}

`