Necesito ayuda con estructura de control FOR

Iniciado por itzg3, 17 Junio 2018, 18:38 PM

0 Miembros y 1 Visitante están viendo este tema.

itzg3

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.


A.I.

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

Código (java) [Seleccionar]

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!

itzg3

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