Loop

Queria saber como faço pra fazer um loop para que eu insira nomes até um ponto em que o loop acabe por algum motivo…

o codigo e mais ou menos o seguinte:

    public void cadRota(){
    int i=0;
    int t=0;
    System.out.printf("----------CADASTRAR----------\n");
    rota[rot]=new Rotas();
    System.out.printf("Rota: ");
    rota[rot].setNome(lerString());
    System.out.printf("Vendedor: ");
    rota[rot].setVendedor(lerString());
    while(){
    System.out.printf("Cliente: ");
    rota[rot].setClientes(lerString());
    System.out.printf("\n");
    }
    
    }

    public String getClientes(){
        for(t=0;t<clientes.length;t++){
          if(clientes[t]!=null){
            return clientes[t]; 
          }
        }
        return null;
    }

acho que nao ta bem explicado!
deixe me ver se entendi:
vc quer que o loop execute ate que por algum motivo ele pare antes da flag?
é isso?

algo assim ??

do { System.out.printf("Cliente: "); rota[rot].setClientes(lerString()); System.out.printf("\n"); System.out.println("Cadastrar novo cliente ('S'/'N') ?"); boolean cadastrarNovoCliente = lerString().toUpperCase().equals("S"); } while(cadastrarNovoCliente);