package cuadromagico; import javax.swing.JOptionPane; public class Cuadromagico { public static void main(String[] args) { int [][] cubo; crear ob= new crear (); cubo=ob.leerMat(); ob.llenar (cubo); JOptionPane.showMessageDialog(null,"Cuadro Magico"+ob.mostrarMat(cubo)); System.exit(0); } } class crear { int n; int [][] leerMat () { n=Integer.parseInt(JOptionPane.showInputDialog("Teclea el Numero para el Cubo Magico")); while(n%2==0) { JOptionPane.showMessageDialog(null,"Estimaso Usuario el Numero que Ingreso NO es Impar"); n=Integer.parseInt(JOptionPane.showInputDialog("Teclea el Numero para el Cubo Magico")); } int [][] arr = new int[n][n]; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { arr[i][j] = 0; } } return arr; } void llenar (int[][] arr) { int i_ant=0; int j_ant=0; int num_in=n/2; int con=1; int i=0; int j=num_in; while(con!=(n*n)+1) { if(arr[i][j]==0) { arr[i][j]=con; } else { i=i_ant+1; j=j_ant; arr[i][j]=con; } i_ant=i; j_ant=j; con++; j++; i--; if(i<0 && j==n) { i=n-1; j=0; } else if(i<0) { i=i+n; } else if(j==n) { j=0; } } } String mostrarMat(int[][]arr) { String s="\n"; for(int i=0;i<arr.length;i++) { for(int k=0;k<arr[i].length;k++) { s=s+arr[i][k]+" "; } s=s+"\n"; } return s; } }