Java - ayuda, crear un rombo con “ * ” y “ ”

 
Vista:

ayuda, crear un rombo con “ * ” y “ ”

Publicado por nicolas (1 intervención) el 05/05/2018 20:51:46
me plantearon este problema y después de un buen tiempo intentando recurro a ustedes, no hace mucho que estoy aprendiendo así que me resulta un poco difícil, el desafió es hacerlo con la menor cantidad de lineas,
el problema esta planteado en java y se resuelve utilizando

System.out.print("*");
System.out.print(" ");

buena suerte desde ya gracias a quienes respondan

asterisco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Pedro
Val: 305
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda, crear un rombo con “ * ” y “ ”

Publicado por Pedro (102 intervenciones) el 06/05/2018 01:38:31
Espero que me perdones , porque estoy contribuyendo a que no aprendas por tí mismo, pero me picaba el hormigueo de abrir el netbeans y no he podido resistir la tentación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/
package rpeter1;
 
/**

         __________        __                
_______  \______   \ _____/  |_  ___________ 
\_  __ \  |     ___// __ \   __\/ __ \_  __ \
 |  | \/  |    |   \  ___/|  | \  ___/|  | \/
 |__|     |____|    \___  >__|  \___  >__|   
                        \/          \/       

 */
public class Rpeter1 {
 
 
    public static void main(String[] args) {
 
        int a=4,b=1;
        for(int d=4;d>0;d--)
        {
          StringBuilder novo= new StringBuilder();
        for(int c=a;c>0;c--)
        {
           novo.append(" ");
        }
        a--;
        for(int c=b;c>0;c--){novo.append("*");}
        b+=2;
        System.out.println(novo);
 
        }
        System.out.println("*********");
 
        //==========Aumento==>
         int e=0,f=7;
        for(int d=4;d>0;d--)
        {
          StringBuilder novo= new StringBuilder();
        for(int c=-1;c<e;c++)
        {
           novo.append(" ");
        }
        e++;
        for(int c=0;c<f;c++)
        {novo.append("*");}
        f-=2;
        System.out.println(novo);
 
        }
 
        }
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de kingk
Val: 247
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda, crear un rombo con “ * ” y “ ”

Publicado por kingk (108 intervenciones) el 06/05/2018 21:36:55
Hola, puedes hacerlo de la siguiente forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int num,n,c,ce;
Scanner sc=new Scanner(System.in);
System.out.println("Introduzca un numero:");
num=sc.nextInt();
c=num%2;
for(int i=0;i< num;i++){
    n=2+((((i*2)+1)/num)*-4);//Se obtiene la cantidad a sumar para la siguiente fila
    ce=(num-c)/2;//Se obtiene la cantidad de espacios
    for(int j=0;j< c+ce;j++){
        if(j< ce){
            System.out.print("  ");//Imprime doble espacio
        }else{
            System.out.print(" *");//Imprime un espacio y asterisco
        }
    }
    System.out.println();
    c+=n; //Se obtiene la cantidad de asteriscos
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar