Si bien puede usar expresiones regulares como indica
Malenko, viendo que recien empieza seria genial que lo haga con recorridos de chars para use mas la lógica. Ahora muestranos el código de tu condicion "D" para ver que se te pudo pasar. Saludos!

.
PDT: Te dejo el ejemplo para que lo estudies
condicion password