public void setOptions(String[] options) throws Exception {
    //Debug Option
    debug = Utils.getFlag('D', options);

    // Set Tolerance.
    String Tol = Utils.getOption("Tl", options);

    if (Tol.length() != 0) {
      Tolerance = Double.parseDouble(Tol);
    }

    //Set Threshold
    String Thres = Utils.getOption('S', options);

    if (Thres.length() != 0) {
      Threshold = Double.parseDouble(Thres);
    }

    //Set Hyperparameter Type 
    String Hype = Utils.getOption('H', options);

    if (Hype.length() != 0) {
      HyperparameterSelection = Integer.parseInt(Hype);
    }

    //Set Hyperparameter Value 
    String HyperValue = Utils.getOption('V', options);

    if (HyperValue.length() != 0) {
      HyperparameterValue = Double.parseDouble(HyperValue);
    }

    // Set hyper parameter range or list.
    String HyperparameterRange = Utils.getOption("R", options);

    //Set Prior class.
    String strPrior = Utils.getOption('P', options);

    if (strPrior.length() != 0) {
      PriorClass = Integer.parseInt(strPrior);
    }

    String folds = Utils.getOption('F', options);

    if (folds.length() != 0) {
      NumFolds = Integer.parseInt(folds);
    }

    String iterations = Utils.getOption('I', options);

    if (iterations.length() != 0) {
      maxIterations = Integer.parseInt(iterations);
    }

    NormalizeData = Utils.getFlag('N', options);

    //TODO: Implement this method for other options.
    Utils.checkForRemainingOptions(options);
  }