absolutioniohandler.java

来自「pso源程序」· Java 代码 · 共 46 行

JAVA
46
字号
/**
 * Description: provide IOHandler for writing/reading solution in
 *  binary array
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Apr  6, 2005
 * Xiaofeng Xie    Aug 08, 2006
 *
 */

package implement.common.infoIO;

import Global.define.*;
import Global.methods.*;
import maosKernel.memory.*;
import maosKernel.infoIO.*;
import maosKernel.represent.space.*;
import Global.util.*;

public class ABSolutionIOHandler extends AbsSolutionIOHandler {
  protected ElementsReader elementsReader = new ElementsReader();
  public int bias = 0;

  public String writeSolution(EncodedState state) throws Exception {
    String colStr = "";
    SearchState searchState = state.getSearchState();
    for (int i=0; i<searchState.getNodeNumber(); i++) {
      if (searchState.getValueAt(i)) colStr += (i+bias)+BasicTag.RETURN_TAG;
    }
    return colStr;
  }

  public void naiveReadSolution(EncodedState state, String content) throws Exception {
    String[] lines = GlobalString.getMeaningfulLines(content);
    elementsReader.setContent(lines);
    SearchState searchState = state.getSearchState();
    searchState.clear();
    while (true) {
      String nextElement = elementsReader.readNextElement();
      if (nextElement==null) break;
      searchState.setValueAt(TypeConverter.toInteger(nextElement)-bias);
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?