import java.util.Scanner; /** * Programa que maneja arreglos bidimensionales de numeros, * cadenas y tipos abstractos. */ public class ArregloBidimensional { // Limpia la pantalla usando lineas en blanco public void limpiar() { for (int i = 0; i < 30; i++) System.out.println(""); } // Visualiza el menu public void visualizaMenu() { System.out.println("Menu"); System.out.println(""); System.out.println("1) Agregar"); System.out.println("2) Modificar"); System.out.println("3) Borrar"); System.out.println("4) Visualizar todos"); System.out.println("0) Salir"); } // Arreglo bidimensional para valores numericos. public void arregloBidimensionalDouble() { double [][] Arr; int Fila, Columna; // objeto para trabajar con teclado Scanner teclado = new Scanner(System.in); // Pregunta sobre las filas del arrglo do { System.out.println("Filas? "); Fila = teclado.nextInt(); if(Fila <= 0 || Fila > 10) { System.out.println("Error en el numero de filas, rango de 1 a 10"); } } while(Fila <= 0 || Fila > 10); // Pregunta sobre las columnas del arrglo do { System.out.println("Columnas? "); Columna = teclado.nextInt(); if(Columna <= 0 || Columna > 10) { System.out.println("Error en el numero de Columnas, rango de 1 a 10"); } } while(Columna <= 0 || Columna > 10); // Inicializamos nuestro arreglo. Arr = new double[Fila][Columna]; // op para las opciones del menu // fila_act para manejar las filas del arreglo. // col_ act para manejar las columnas del arreglo. int op = 0, fila_act = 0, col_act = 0; // Menu do { // limpiar(); visualizaMenu(); System.out.println(""); System.out.println("Opcion: "); op = teclado.nextInt(); switch(op) { // Salir case 0: break; // Adicionar case 1: // FILAS do { System.out.println("Fila? "); fila_act = teclado.nextInt(); if(fila_act < 0 || fila_act >= Fila) { System.out.println("Error en la fila, rango de 0 a " + Fila); } } while(fila_act < 0 || fila_act >= Fila); // COLUMNAS do { System.out.println("Columna? "); col_act = teclado.nextInt(); if(col_act < 0 || col_act >= Columna) { System.out.println("Error en la columa, rango de 0 a " + Columna); } } while(col_act < 0 || col_act >= Columna); System.out.println("Valor? "); Arr[fila_act][col_act] = teclado.nextDouble(); break; // Modificar case 2: // LES TOCA HACERLO A USTEDES break; // Borrar case 3: // FILAS do { System.out.println("Fila? "); fila_act = teclado.nextInt(); if(fila_act < 0 || fila_act >= Fila) { System.out.println("Error en la fila, rango de 0 a " + Fila); } } while(fila_act < 0 || fila_act >= Fila); // COLUMNAS do { System.out.println("Columna? "); col_act = teclado.nextInt(); if(col_act < 0 || col_act >= Columna) { System.out.println("Error en la columna, rango de 0 a " + Columna); } } while(col_act < 0 || col_act >= Columna); Arr[fila_act][col_act] = 0; break; // Visualizar case 4: // Recorre las filas. for(int i = 0; i < Fila; i++) { // Recorre las columnas for(int j = 0; j < Columna; j++) { System.out.println("[" + i + "][" + j + "] --> " + Arr[i][j]); } } break; default: System.out.println("Opcion no reconocidad"); } } while(op != 0); System.out.println("Fin del arreglo bidimensional"); } public static void main(String [] args) { ArregloBidimensional ab = new ArregloBidimensional(); ab.arregloBidimensionalDouble(); } }