Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Meta en 13 Febrero 2011, 08:14 AM

Título: Resolver este problema
Publicado por: Meta en 13 Febrero 2011, 08:14 AM
Buenas:

Partiendo de este código que lo más probable no esté bien diseñado. Estoy haciendo pruebas solo con for y while. Nada de If else o otra instrucción.

Como resultado quiero que de de esta manera.
Código (java) [Seleccionar]

E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3


por ahora me sale solo de esta otra y se queda ahí.
Código (java) [Seleccionar]
E3E3E3E3E3






Código (java) [Seleccionar]
String igual = "";
        String menos = "-";
        int vueltas = 0;

        for (int v = 0; v < 6; v++){
        while (vueltas < 5){
        for (int i= 0; i < 1; i++){
            System.out.print(igual);
                for (int j= 0; j < 1; j++){
                    System.out.print(menos);
            }
        }
            vueltas++; // Incremente a uno en la variable.
        }
        System.out.println(); // Salto de línea.
       }


Saludo.
Título: Re: Resolver este problema
Publicado por: jbndg en 13 Febrero 2011, 12:00 PM
Hola, no se si esto te va a servir, pero asi es como lo haría yo:
String a="E3";

int pinta=0;
while(pinta<6)
{
for(int j=0; j<5; j++)
{
System.out.print(a);

}
pinta++;
System.out.println();

}



Te digo que yo estoy inclinándome en esto pero bueno si te puede servir... perfecto. (Tampoco sé si esto exactamente lo que buscas jaja )

Saludos.
Título: Re: Resolver este problema
Publicado por: Meta en 13 Febrero 2011, 16:17 PM
Guiándome en tu código saqué algo similar, pero da problemas.

Código (java,11) [Seleccionar]
String igual = "=";
            String menos = "-";


            for (int v = 0; v < 6; v++)
            {
                int vueltas = 0;

                while (vueltas < 5)
                {
                    System.out.print("%d%d"), igual, menos);
                    vueltas++;
                }

                    System.out.println(); // Salto de línea.
            }
Título: Re: Resolver este problema
Publicado por: JungleBoogie en 13 Febrero 2011, 16:31 PM
Cita de: Meta en 13 Febrero 2011, 16:17 PM
Código (java,11) [Seleccionar]

System.out.print("%d%d"), igual, menos);


Esto no es C.

System.out.print(igual + menos);
Título: Re: Resolver este problema
Publicado por: Meta en 13 Febrero 2011, 18:39 PM
Me sigue dando error, seala en print, aunque pongas println sigue igual.
Título: Re: Resolver este problema
Publicado por: JungleBoogie en 13 Febrero 2011, 18:52 PM
Pues ese mismo codigo que has puesto, cambiando el print que tenias por el que he puesto, me funciona bien:

Main.java
public class Main {
   public static void main(String[] args) {
       String igual = "=";
       String menos = "-";

       for (int v = 0; v < 6; v++)
       {
           int vueltas = 0;
           while (vueltas < 5)
           {
               System.out.print(igual+ menos);
               vueltas++;
           }
           System.out.println(); // Salto de línea.
       }
   }
}


Output:
run:
=-=-=-=-=-
=-=-=-=-=-
=-=-=-=-=-
=-=-=-=-=-
=-=-=-=-=-
=-=-=-=-=-
BUILD SUCCESSFUL (total time: 0 seconds)
Título: Re: Resolver este problema
Publicado por: Meta en 13 Febrero 2011, 19:09 PM
Algo no me va.

(http://www.subeimagenes.com/img/java-16869.png)

Saludo.
Título: Re: Resolver este problema
Publicado por: JungleBoogie en 13 Febrero 2011, 20:24 PM
A ver, que esto no es C. Incluso en C estaria mal porke %d es para imprimir enteros, no Strings.

En Java:
MAL: System.out.print("%d%d",igual,menos);
BIEN: System.out.print(igual + menos);
Título: Re: Resolver este problema
Publicado por: Meta en 13 Febrero 2011, 22:55 PM
Perdón, me equivoqué de imagen, es este el de abajo. Tal como dices, tampoco funcina.

(http://www.subeimagenes.com/img/java-16884.png)

Saludo.
Título: Re: Resolver este problema
Publicado por: JungleBoogie en 13 Febrero 2011, 22:57 PM
:facepalm:

No es un coma (,) sino un plus (+)
Título: Re: Resolver este problema
Publicado por: Meta en 13 Febrero 2011, 23:33 PM
Por fin,. Que despistado soy. Muchísimas gracias. El Java me cuesta al aprenderlo a palo seco.

Por cierto, haciendo esta prueba:
          o
          oo
          ooo
          oooo
          ooooo
          oooooo
          ooooooo
          oooooooo
          ooooooooo
          oooooooooo


Código (java) [Seleccionar]
String letra= "o ";

            for (int i = 0; i < 10; i++){
                System.out.print(letra);
                letra +=  "o ";
            }


No me sale. Se que es un ejemplo tonto, pero quiero saberlo y entenderlo. Supuestamente cuanta hasta menor de 10, incremente una o por cada salto de línea y no me sale.
Título: Re: Resolver este problema
Publicado por: leogtz en 14 Febrero 2011, 00:21 AM
Código (java) [Seleccionar]
for(int i = 0; i <= 10; i++)
{
for(int j = 0; j < i; j++)
System.out.print("o");
System.out.println();

}
Título: Re: Resolver este problema
Publicado por: Meta en 14 Febrero 2011, 00:34 AM
Gracias, se me adelantaron.
Lo hice así:
Código (java) [Seleccionar]
String letra= "o ";

            for (int i = 10; i > 0; i--){
                System.out.println(letra);
                letra +=  "o ";
            }


Queriendo hacer el triángulo al revés, pensé que hay que cambiar el signo + al - y descubrí que no es así.

Código (java) [Seleccionar]
String la_x = "xxxxxxxxxx ";

            for (int i = 0; i < 10; i++){
                System.out.println(la_x);

                la_x = la_x.Substring(1, la_x.Length - 1);

            }
Título: Re: Resolver este problema
Publicado por: leogtz en 14 Febrero 2011, 00:47 AM
Código (java) [Seleccionar]
String la_x = "xxxxxxxxxx ";

           for (int i = 0; i < 10; i++){
               System.out.println(la_x);

               la_x = la_x.substring(1, la_x.length()
             );

           }


Código (java) [Seleccionar]
for(int i = 10; i >= 0; i--)
        {
            for(int j = 0; j < i; j++)
                System.out.print('*');
            System.out.println();
        }