Os dejo el código fuente de un programa realizado en JAVA, empleado generalmente para propósitos formativos y que he llamado la escalera númerica.
He creado esta escalera para ayudar a los estudiantes a comenzar a programar estructuras iterativas y condicionales. Es ideal para comenzar a programar. Para elaborar la escalera es necesario generar números aleatorios y cada fila impar sólo representar el primer y ultimo número. Se pide y valida por teclado las dimensiones.
Su salida usando el IDE Netbeans es esta:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author golden
*/
public class rectangulo {
public static void pintar_cuadrado(int columnas_numero, int filas_numero){
int fila_actual=1;
int num_aleatorio;
int fila_resto;
for (int i=0; i < filas_numero; i++) {
for(int j=0; j<columnas_numero;j++){
fila_resto=fila_actual%2;
if(fila_resto==0){
num_aleatorio=(int) Math.floor(Math.random()*10);
System.out.print(num_aleatorio + “”);
}
if(fila_resto!=0){
if(j==0){
num_aleatorio=(int) Math.floor(Math.random()*10);
System.out.print(num_aleatorio);
}
else
if(j==columnas_numero-1){
num_aleatorio=(int) Math.floor(Math.random()*10);
System.out.print(num_aleatorio);
}else{
System.out.print(” “);
}
}
}
System.out.println();
fila_actual ++;
}
}
public static boolean comprobar(String cadena){
for(int i=0;i<cadena.length();i++){
if (cadena.charAt(i)<=48 || cadena.charAt(i)>=57) {
System.out.println(“Error, introduce un numero”);
return false;
}
}
return true;
}
public static void main(String[] args) {
try {
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
String ancho;
String largo;
//char ancho2=ancho.charAt(0);
System.out.println(“Introduce el ancho del rectangulo”);
ancho=teclado.readLine(); while (!comprobar(ancho)){
ancho=teclado.readLine();
}
System.out.println(“Introduce el largo del rectangulo”);
largo=teclado.readLine();
while (!comprobar(largo)){
largo=teclado.readLine();
}
//Ahora hago el casting
int ancho_numero=Integer.parseInt(ancho);
int largo_numero=Integer.parseInt(largo);
pintar_cuadrado(ancho_numero,largo_numero);
} catch (IOException ex) {
Logger.getLogger(rectangulo.class.getName()).log(Level.SEVERE, null, ex);
}
}
}