Meu algoritmo: erro: '(' expected. oque a de errado e oque devo acrescentar para ele rodar?

Essa e a Questão:

1 - Escreva um programa que solicite do usuário a idade de diversas pessoas (enquanto houver o desejo de continuar digitando), ao final o programa deve apresentar:

  • a quantidade de crianças (até 12 anos)

  • a quantidade de adolescentes (até 18 anos)

  • a quantidade de jovens (até 25 anos)

  • a quantidade de adultos (até 59 anos)

  • a quantidade de idosos (a partir de 60 anos)


package idades;
import java.util.Scanner;
public class Main
{

  public static void main (String[]args)
  {
    Scanner ler = new Scanner (System.in);

    int idade;
    int crianca, adolescente, joven, adulto, idoso;

    do{
        	System.out.println ("Digite a idade desejada:(Digite -1 para encerrar:");
	idade = ler.nextDouble ();
    }
    
    if(idade <= 12){
		System.out.println("criança");
	}
	 if(idade >= 18){
		System.out.println("adolescente");
	}
	 if(idade >= 25){
		System.out.println("joven");
	}
	
	 if(idade >=59){
		System.out.println("adulto");
	}
	
	 if(idade >= 60){
		System.out.println("idoso");
	}
  }
}

Faltou o while da sua cláusula do.

do {
    código a ser repetido
} while ( condição para repetição );