public void printMatrixString(){
    
    int[][] networkMatrix; //int[INPUT][OUTPUT]
    
    networkMatrix = new int[numNodes][numNodes];
    
    //initialise
    for(int i=0; i<numNodes; i++){
      for(int j=0; j<numNodes; j++){
        networkMatrix[i][i] = 0;
      }
    }
    Node node;
    for(int i=0; i<numNodes; i++){
      node = getNodes().get(i);
      int k = node.getBondingSite() ? 1:0;
      while(k<2){
        networkMatrix[i][node.getInputs()[k]] = 1;
        k++;
      }
    }
    
    for(int i=0; i<numNodes; i++){
      System.out.printf("\t%d", i);
    }
    System.out.printf("\n");
    for(int i=0; i<numNodes; i++){
      System.out.printf("%d", i);
      for(int j=0; j<numNodes; j++){
        
        System.out.printf("\t"+((networkMatrix[i][j]==1)? "█":" "));
        
      }
      System.out.printf("\n");
    }
    
  }