Java básico 051. Función, imprimir un cuadrado hueco utilizando asteriscos “*”.

Ejercicio: Desarrollar una función que lea un número entero de teclado y escriba un cuadrado (hueco) con tantos asteriscos (*) de lado como indique el número leído. Por ejemplo, para un número leído con valor 5, escribirá:
*****
*   *
*   *
*   *
*****
Código Java
import java.util.Scanner;

/**
*
* @author Ariel
*/

public class FuncionDibuj {

/**
* @param args the command line arguments
*/

public static void main(String[] args) {
//Declaramos un entero, cantidad de elementos.
int n;
//Utilizamos Scanner para capturar datos del teclado.
Scanner num = new Scanner(System.in);
//El try sirve para capturar las excepciones de entrada de datos.
try {
System.out.print("Ingresa una cantidad entera.");
//Forma de capturar datos de teclado con Scanner.
n = num.nextInt();
//Llamamos la función pasando el entero capturado como argumento.
asterisco(n);
} catch (Exception e) {
//En caso que el dato ingresado no sea de tipo entero, se indica el error.
System.out.println("ERROR: se espera dato entero.");
}
}
//Creamos la función al cual le pasamos un entero como argumento.
static void asterisco(int n){
//Creamos una variable tipo constante para utilizarla.
final char simbolo = '*';
//Creamos el primer for.
//Se hace con un preincremento ++j.
for (int i = 0; i < n; ++i) {
//Cada primer for, se hace un salto de línea.
System.out.println();
//Anidamos otro for con el mismo proceso.
for (int j = 0; j < n; ++j) {
//Establecemos una condición para que se imprima el "*".
if((i == 0) || (i == n-1) || (j == 0) || (j == n - 1)){
System.out.print(simbolo);
}
else{
System.out.print(" ");
}
}
}
System.out.println();
}
}

1 comentario :

  1. import java.util.Scanner;
    class Figuras
    {
    public static void main (String args[])
    {
    int dato; // variables enteras
    int inf;

    Scanner leer=new Scanner(System.in);

    do{ //inicio de do while

    System.out.println("opciones :");
    inf=leer.nextInt();

    System.out.println("nivel del triangulo");
    dato=leer.nextInt();


    switch(inf){

    case 1: //opcion 1
    for (int i=1;i<=dato;i++)
    {
    for(int j=1;j=1;i--)
    {
    for(int j=1;j<i+1;j++)
    {
    System.out.print('*');
    }
    System.out.print('\n');
    }
    break;

    case 3:
    //opcion 3
    int j;
    for (int i=1;i<=dato;i++)
    {
    for( j=i;j<=dato;j++)
    {
    System.out.print(" ");
    }
    for( j=1;j<i+1;j++)
    {
    System.out.print('*');
    }

    System.out.print('\n');




    }

    }
    }while(inf!=0);
    }


    }

    ResponderEliminar