import java.io.*;
public class Principal {
int []x = new int[63] ;
int []y = new int [7];
int [][] w = new int [63][7];
int indice = 0;
int alvo = 1;
File file = new File("c:/a1.txt");
int [] t = {1,-1, -1, -1, -1, -1, -1};
public Principal() {
try {
FileReader reader = new FileReader(file);
BufferedReader input = new BufferedReader(reader);
String linha;
//Atribui -1 ao caracter . e 1 ao caracter #.
while ((linha = input.readLine()) != null) {
for (int i = 0; i<linha.length(); i++){
if (linha.charAt(i)== '.'){
x[indice]= -1;
}
else if (linha.charAt(i)=='#'){
x[indice] = 1;
}
indice = indice +1;
}
System.out.println(linha);
}
input.close();
}
catch (IOException ioe) {
System.out.println(ioe);
}
//Para testar
for (int i = 0; i < x.length; i++){
System.out.println(x[i]+" ");
System.out.println();
}
//Para testar
for (int i = 0; i < 63; i++){
for (int l = 0; l < 7; l++){
System.out.print(w[i][l]);
}
System.out.println();
}
//Calcular a resposta da rede
for (int i = 0;i <7; i++){
calcula(i);
}
}
private void calcula ( int i ){
int somaTotal = 0;
for ( int j = 0; j < 63; j++){
int soma = x[j]* w[j][i];
somaTotal = somaTotal + soma;
if (somaTotal >= 1 ){
somaTotal = 1;
}
else if (somaTotal <= -1){
somaTotal = -1;
}
else{
somaTotal = 0;
}
}
if (somaTotal != t[i]){
for (int j = 0; j< 63; j++){
w[j][i]= w[j][i] + alvo * x[j];
calcula (i);
}
}
}
public static void main(String[] args) {
Principal iniciar = new Principal();
}
}
Criei um construtor para a classe principal e chamo o main para inicia-la separadamente!
Espero ter lhe ajudado! Valew.