Hola por favor quisiera que me ayudaran a resolver este pequeño ejercicio que tengo algunas dudas ya que soy principiante en la programación para resolver lo siguiente:
CitarDesarrolla un programa que muestre todos los valores de un contador de 6 dígitos empezando por
0000 y acabando en 9999 con la particularidad que cada vez que se deba mostrar un 3 se muestre E
Este es mi código que estuve realizando:
public static void main(String[] args) {
for (int i = 00; i <= 99 ; i++){
String cadena= String.valueOf(i);
for(int j = 0; i <cadena.length() ; i++){
char letra = cadena.charAt(i);
if(letra=='3'){
cadena.replace('3', 'E');
}
}
System.out.println(cadena);
}
}
No logra reemplazar el tres por la letra E, tampoco iniciar con dos ceros la variable "i", por el contrario siempre inicia desde "0" y va incrementandose.
Cambie los digitos a dos en el bucle para probar y que no demore en ejecutar.
En Java los Strings son inmutables. Por lo tanto y si miras la documentación de replace verás que devuelve una cadena y no modifica la cadena original. Además replace ya se hace sobre toda la cadena, no necesitas el for interior.
Para darle el formato de seis dígitos enteros puedes usar String.format
public static void main(String[] args) {
String cadena;
for (int i = 00; i <= 99 ; i++){
cadena = String.format("%06d", i);
System.out.println(cadena.replace('3', 'E'));
}
}
Saludos!
Muchas gracias A.I, fue de gran ayuda su respuesta, ya solucione el caso. Por falta de conocimiento respecto a la clase String fue que no tenia idea para resolverlo, seguire estudiando.
Saludos