Converter posição do array string em float

Como converter posição do array string em float?

Entrada:
n : número de Frases
n frases no formato (“nome-matricula-data nascimento-nota”).

Saída:
Analisar cada uma das frases, armazenar o nome e a nota da frase que tenha a maior nota. Caso houver empate, imprima a primeira ocorrência.
Imprimir “O aluno ‘nome’ tirou nota igual a ‘nota’”

Exemplo:
Entrada:
n: 4
**“Jose-100-10/02/1998-70”**
**“Manoel-101-01/05/1996-75”**
**“Paula-102-10/08/2000-60”**
**“Pedro-103-09/02/1992-75”**
Saída:
**“O aluno Manoel tirou nota igual a 75”**

Meu código:

public static void main(String[] args) {
// TODO code application logic here
Scanner ler = new Scanner(System.in);
int n, cont, contNome;
float nota, notaMaior;
String[] vetor = new String[999];
String frase, nome = null;

    cont = 3;
    contNome = 0;
    notaMaior = 0;
    
    System.out.println("Informe o numero de frases");
    n = ler.nextInt();
    for (int i = 0; i < n; i++){
        System.out.println("Informe a frase no formato: nome-matricula-data nascimento-nota: ");
        vetor[i] = ler.next();
        frase = vetor[i];
        String v[] = frase.split("-");
        nota = Float.parseFloat(v[cont]);
        /*System.out.println(v[0]); 
        System.out.println(v[1]); 
        System.out.println(v[2]);
        System.out.println(nota);*/
        
        if (notaMaior < nota) {
            nome = v[contNome];
            notaMaior = nota;
        }
        cont = cont + 4;
        contNome = contNome + 4;
    }
    //System.out.println("Nome: "+nome+" nota maior: "+notaMaior);
    
}

Boa Noite.

A conversão está correta mas a sua lógica está errada.

Não é necessário incrementar 4 no cont e no contNome pois toda vez que você volta pro for é criado um novo vetor então o nome,matricula,data e nascimento sempre estará na mesma posição do vetor.

Se você apagar esta parte deve funcionar
cont = cont + 4;
contNome = contNome + 4;

Valeu amigo. Depois eu vi mesmo que não fazia sentido o incremento. Funcionou belezinha…