⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 observationintegerreader.java

📁 java实现的隐马尔科夫模型
💻 JAVA
字号:
/* jahmm package - v0.3.1 *//* *  Copyright (c) 2004, Jean-Marc Francois. * *  This file is part of Jahmm. *  Jahmm is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  Jahmm is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with Jahmm; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package be.ac.ulg.montefiore.run.jahmm.io;import java.util.*;import java.io.*;import be.ac.ulg.montefiore.run.jahmm.*;/** * Reads an {@link be.ac.ulg.montefiore.run.jahmm.ObservationInteger * ObservationInteger} up to (and including) a semi-colon. * <p> * The format of this observation is a simple integer ([+-]?[0123456789]+). * <p> * For example, reading * <pre>76;</pre> * creates an observation such as the one generated by * <code>new ObservationInteger(76);</code> */public class ObservationIntegerReader    extends ObservationReader {        // Maximum number elements allowed    private int nbElements;            /**     * Constructs a reader of {@link ObservationInteger ObservationInteger}.     */    public ObservationIntegerReader() {	nbElements = -1;    }            /**     * Constructs a reader of {@link ObservationInteger ObservationInteger}.     * Verifies the maximum value of the observations read.     *     * @param nbElements The permitted number of different elements.  Each     *                   value must be <code>0</code> &le; <code>value</code>     *                   &lt; <code>nbElements</code>.     */    public ObservationIntegerReader(int nbElements) {	if (nbElements <= 0)	    throw new IllegalArgumentException("Nb of elements must be " +					       "positive");		this.nbElements = nbElements;    }        /**     * An {@link be.ac.ulg.montefiore.run.jahmm.ObservationInteger     * ObservationInteger} reader, as explained in      * {@link ObservationReader ObservationReader}.     *     * @param st A stream tokenizer.     * @return The {@link be.ac.ulg.montefiore.run.jahmm.ObservationInteger     *         ObservationInteger} read.     */    public Observation read(StreamTokenizer st) 	throws IOException, FileFormatException {		ObservationInteger oi;	st.ordinaryChar((int)'.');	switch (st.nextToken()) {	case StreamTokenizer.TT_EOL:	case StreamTokenizer.TT_EOF:	case StreamTokenizer.TT_WORD:	    throw new FileFormatException("Integer expected");	    	case StreamTokenizer.TT_NUMBER:	    if (st.nval > nbElements)		throw new FileFormatException("Integer higher than maxium " +					      "value");	    oi = new ObservationInteger((int) st.nval);	    break;	    	default:	    throw new FileFormatException("Integer expected");	}		switch (st.nextToken()) {	case ';':	    break;	    	default:	    if (st.ttype != ';')		throw new FileFormatException("';' expected");	}		ObservationSequencesReader.initSyntaxTable(st);	return oi;    }}

⌨️ 快捷键说明

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