domingo, 17 de noviembre de 2013

Clases en Java (Matriz de Enteros)

Las Siguiente clase usan valores que hacen mas facil e interactivo el aprendizage de el mismo, y dentro de la clase hay un metodo main que les permitira probar el funcionamiento de los metodos (funciones y procedimientos) y de los nuevos metodos que vallan haciendo, cada metodo esta comentado de tal manera que pueden generar su javadoc sea cual sea el IDE de programación (eclipse, netbeans, jdeveloper, otros) de su preferencia, a continuacion dejo el fuente de la clase Matriz cuya dimension en relacion a filas y columnas sera de 100 posiciones, esta se puede optimizar pero por fines didacticos se los dejo asi:

/** * @author Ing. Angel Céspedes Quiroz * @facebook https://www.facebook.com/acq1305 * @mail angel@procesinc.com * @see <a href="http://www.procesinc.com">http://www.procesinc.com</a> * @version 1.0 17 de Noviembre de 2013 */ public class Matriz { private int m[][]; private int f; private int c; /** * Constructor por defecto de clase */ public Matriz() { m = new int[100][100]; f = 0; c = 0; } /** * Constructor por parametros de clase */ public Matriz(int[][] m, int f, int c) { this.m = m; this.f = f; this.c = c; } /** * Constructor de copia de clase */ public Matriz(Matriz m1) { this.m = m1.m; this.f = m1.f; this.c = m1.c; } /** * Metodo accesador del atributo m[][] */ public int[][] getM() { return m; } /** * Metodo selector del atributo m[][] */ public void setM(int[][] m) { this.m = m; } /** * Metodo accesador del atributo f */ public int getF() { return f; } /** * Metodo selector del atributo f */ public void setF(int f) { this.f = f; } /** * Metodo accesador del atributo c */ public int getC() { return c; } /** * Metodo selector del atributo c */ public void setC(int c) { this.c = c; } /** * Método que dimensiona mi matriz en fila i columna j * <PRE> Matriz obj = new Matriz();</PRE> * @param value int * @param value int * @return void Es un procedimiento por que modifica mi atributo f - c * @since incluido desde la version 1.0 */ public void dimension(int i, int j){ f=i; c=j; } /** * Método que adiciona un elemento x en fila i columna j -> m[i][j]= x; * <PRE> Matriz obj = new Matriz(); * obj.dimension([fila],[columna]);</PRE> * @param value int * @param value int * @param value int * @return void Es un procedimiento por que modifica mi atributo m[][] * @since incluido desde la version 1.0 */ public void add(int i, int j, int x) { m[i][j] = x; } /** * Método que que muestra en consola mi atributo m[][] * <PRE> Matriz obj = new Matriz(); * obj.dimension([fila],[columna]); * obj.add([fila],[columna],[elemento entero])</PRE> * @return void Es un procedimiento por que muestra en consola a m[][] * @since incluido desde la version 1.0 */ public void mostrar() { int elem = 0; System.out.println("m["+f+"]["+c+"] = "); for (int i = 0; i < f; i++) { System.out.print("|"); for (int j = 0; j < c; j++) { elem = m[i][j]; if(j==c-1){ System.out.println(elem + "|"); }else{ System.out.print(elem + ","); } } } } /** * Método que suma los elementos de mi atributo m[][] * <PRE> Matriz obj = new Matriz(); * obj.dimension([fila],[columna]); * obj.add([fila],[columna],[elemento entero])</PRE> * @return int * @since incluido desde la version 1.0 */ public int sumElem(){ int elem=0; int sum=0; for (int i = 0; i < f; i++) { for (int j = 0; j < c; j++) { elem=m[i][j]; sum = sum+elem; } } return sum; } /** * Método que suma los elementos de la fila i de mi atributo m[i][] * <PRE> Matriz obj = new Matriz(); * obj.dimension([fila],[columna]); * obj.add([fila],[columna],[elemento entero])</PRE> * @param value int * @return int * @since incluido desde la version 1.0 */ public int sumElemFila(int i){ int elem =0; int sum =0; for (int j = 0; j < c; j++) { elem=m[i][j]; sum=sum+elem; } return sum; } /** * Método que suma los elementos de la columna j de mi atributo m[][j] * <PRE> Matriz obj = new Matriz(); * obj.dimension([fila],[columna]); * obj.add([fila],[columna],[elemento entero])</PRE> * @param value int * @return int * @since incluido desde la version 1.0 */ public int sumElemColumna(int j){ int elem =0; int sum =0; for (int i = 0; i < c; i++) { elem=m[i][j]; sum=sum+elem; } return sum; } /** * Método que me ayuda a probar los metodos */ public static void main(String[] args) { Matriz obj= new Matriz(); obj.dimension(3, 3); // defino que sera una matriz de 4 * 4 //cargo la fila 1 obj.add(0, 0, 10); obj.add(0, 1, 25); obj.add(0, 2, 32); //cargo la fila 2 obj.add(1, 0, 1); obj.add(1, 1, 2); obj.add(1, 2, 3); //cargo la fila 3 obj.add(2, 0, 8); obj.add(2, 1, 9); obj.add(2, 2, 5); obj.mostrar(); System.out.println("la suma de todos los elementos es: "+ obj.sumElem()); System.out.println("la suma de la fila "+2+" es: "+ obj.sumElemFila(1)); System.out.println("la suma de la columna "+2+" es: "+obj.sumElemColumna(0)); } }

0 comentarios:

Publicar un comentario