Do while

o meu codigo n esta dando certo
o que eu fiz de errado?
import java.util.Scanner;
public class SequenciaTexto {

public static void main(String[] args) {
    Scanner leitor = new Scanner(System.in);
    int maior =0;
    int soma=0;
    do{
        System.out.println("digite a quantidade de votos");
        int i = leitor.nextInt();
        soma +=i;
        if(i>maior){
            maior=i;
        } while(i!=-1); 
        
        System.out.println("-------");
        System.out.println("a maior quantidade de votos foi "+maior);
        System.out.println("o total de votos foi: "+soma);
        }
        
    }
   
}

}
ta saindo isso aqui:
/SequenciaTexto.java:21: error: while expected
}
^
/SequenciaTexto.java:23: error: illegal start of expression
}
^
2 errors

Faz assim:

public static void main(String[] args) {
            Scanner leitor = new Scanner(System.in);
            int maior = 0;
            int soma = 0;
            int i = 0;
            do {
                System.out.println("digite a quantidade de votos");
                i = leitor.nextInt();
                soma += i;
                if (i > maior) {
                    maior = i;
                }
            } while (i != 0);

            System.out.println("-------");
            System.out.println("a maior quantidade de votos foi " + maior);
            System.out.println("o total de votos foi: " + soma);
}