hola necesito hacer un programa en el la primera matriz me se llene de manera random con unos y ceros de esta matriz se aplica el principio de vecindad 8 y me arroje otra matriz con solo los 1 que se encuentren unidos pero segunda matriz me arroja puros ceros este es el código que tengo.
package oro;
import java.util.Scanner;
import java.util.Random;
public class Oro {
static Scanner Leer = new Scanner(System.in);
static Random ran = new Random();
static int n, m;
static int Llena_Aleatorio(){
int x = ran.nextInt(2);
return(x);
}
static void Crea_Inicializa(int Matrix[][]){
for (int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
Matrix[j] = Llena_Aleatorio();
}
}
}
static void Despliega(int Matrix[][]){
for (int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
System.out.print(Matrix [j]+" "
;
}
System.out.println(""
;
}
}
static void zonas(int Matrix[][], int N_Matrix[][]){
for (int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
int auxmat = Matrix;
if(i > 0){
if(j > 0){
if(1 == Matrix[i-1][j-1]){
auxmat = N_Matrix[i-1][j-1];
}
if(1 == Matrix[i-1][j]){
auxmat = N_Matrix[i-1][j];
}
if(1 == Matrix[j-1]){
auxmat = N_Matrix[j-1];
}
}else{
if(1 == Matrix[i-1][j]){
auxmat = N_Matrix[i-1][j];
}
if(1 == Matrix[i-1][j+1]){
auxmat = N_Matrix[i-1][j+1];
}
}
}else{
if(j > 0){
if(1 == Matrix[j-1]){
auxmat = N_Matrix[j-1];
}
if(i < Matrix.length - 1){
if(auxmat == Matrix[i+1][j]){
auxmat = N_Matrix[i+1][j];
}
}
}
}
if(i < Matrix.length - 1){
if( j < Matrix.length - 1){
if(1 == Matrix[i+1][j+1]){
auxmat = N_Matrix[i+1][j+1];
}
if(1 == Matrix[i+1][j]){
auxmat = N_Matrix[i+1][j];
}
if(1 == Matrix[j+1]){
auxmat = N_Matrix[j+1];
}
}else{
if(1 == Matrix[i+1][j-1]){
auxmat = N_Matrix[i+1][j-1];
}
}
}else{
if(j < Matrix.length -1){
if(1 == Matrix[j+1]){
auxmat = N_Matrix[j+1];
}
}
}
if((i > 0) && (j > 0) && (i < Matrix.length -1) && (j < Matrix.length -1)){
if(1 == Matrix[i-1][j+1]){
auxmat = N_Matrix[i-1][j+1];
}
if(1 == Matrix[i+1][j-1]){
auxmat = N_Matrix[i+1][j-1];
}
}
System.out.print(N_Matrix[j] + " "
;
}
System.out.println(" "
;
}
}
public static void main(String[] args) {
System.out.print("N: "
;
int n = Leer.nextInt();
m = n;
int Matrix [][] = new int[n][m];
int N_Matrix[][]= new int[n][m];
Crea_Inicializa(Matrix);
Despliega(Matrix);
System.out.println(""
;
zonas( Matrix, N_Matrix);
}
}
package oro;
import java.util.Scanner;
import java.util.Random;
public class Oro {
static Scanner Leer = new Scanner(System.in);
static Random ran = new Random();
static int n, m;
static int Llena_Aleatorio(){
int x = ran.nextInt(2);
return(x);
}
static void Crea_Inicializa(int Matrix[][]){
for (int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
Matrix[j] = Llena_Aleatorio();
}
}
}
static void Despliega(int Matrix[][]){
for (int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
System.out.print(Matrix [j]+" "


}
System.out.println(""


}
}
static void zonas(int Matrix[][], int N_Matrix[][]){
for (int i = 0; i < Matrix.length; i++) {
for (int j = 0; j < Matrix.length; j++) {
int auxmat = Matrix;
if(i > 0){
if(j > 0){
if(1 == Matrix[i-1][j-1]){
auxmat = N_Matrix[i-1][j-1];
}
if(1 == Matrix[i-1][j]){
auxmat = N_Matrix[i-1][j];
}
if(1 == Matrix[j-1]){
auxmat = N_Matrix[j-1];
}
}else{
if(1 == Matrix[i-1][j]){
auxmat = N_Matrix[i-1][j];
}
if(1 == Matrix[i-1][j+1]){
auxmat = N_Matrix[i-1][j+1];
}
}
}else{
if(j > 0){
if(1 == Matrix[j-1]){
auxmat = N_Matrix[j-1];
}
if(i < Matrix.length - 1){
if(auxmat == Matrix[i+1][j]){
auxmat = N_Matrix[i+1][j];
}
}
}
}
if(i < Matrix.length - 1){
if( j < Matrix.length - 1){
if(1 == Matrix[i+1][j+1]){
auxmat = N_Matrix[i+1][j+1];
}
if(1 == Matrix[i+1][j]){
auxmat = N_Matrix[i+1][j];
}
if(1 == Matrix[j+1]){
auxmat = N_Matrix[j+1];
}
}else{
if(1 == Matrix[i+1][j-1]){
auxmat = N_Matrix[i+1][j-1];
}
}
}else{
if(j < Matrix.length -1){
if(1 == Matrix[j+1]){
auxmat = N_Matrix[j+1];
}
}
}
if((i > 0) && (j > 0) && (i < Matrix.length -1) && (j < Matrix.length -1)){
if(1 == Matrix[i-1][j+1]){
auxmat = N_Matrix[i-1][j+1];
}
if(1 == Matrix[i+1][j-1]){
auxmat = N_Matrix[i+1][j-1];
}
}
System.out.print(N_Matrix[j] + " "


}
System.out.println(" "


}
}
public static void main(String[] args) {
System.out.print("N: "


int n = Leer.nextInt();
m = n;
int Matrix [][] = new int[n][m];
int N_Matrix[][]= new int[n][m];
Crea_Inicializa(Matrix);
Despliega(Matrix);
System.out.println(""


zonas( Matrix, N_Matrix);
}
}