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

📄 xlsinputtokenizer.java

📁 一个纯java写的神经网络源代码
💻 JAVA
字号:
package org.joone.io;import java.io.*;import java.util.*;import org.joone.log.*;import org.apache.poi.hssf.usermodel.*;public class XLSInputTokenizer implements PatternTokenizer {    /**     * Logger     * */    private static final ILogger log = LoggerFactory.getLogger(XLSInputTokenizer.class);        private int numTokens = 0;    private char m_decimalPoint = '.';    private double[] tokensArray;    private int row_no = 0, mark_row = 0;    final private HSSFSheet sheet;        public XLSInputTokenizer(HSSFSheet i_sheet) throws java.io.IOException {        sheet = i_sheet;    }        public int getLineno() {        return row_no;    };        public int getNumTokens() throws IOException {        return numTokens;    }        public double getTokenAt(int p0) throws java.io.IOException {        if (tokensArray == null)            if (!nextLine())                return 0;        if (tokensArray.length <= p0)            return 0;        return tokensArray[p0];    }        public double[] getTokensArray() {        return tokensArray;    }        public void mark() throws IOException {        mark_row = row_no;    }        public boolean nextLine() throws IOException {        int lastRowNum = sheet.getLastRowNum();        if (row_no <= lastRowNum){            HSSFRow row = sheet.getRow(row_no);            if (row == null) {                // The row doesn't exist (it's empty)                numTokens = 0;                tokensArray = new double[numTokens];            }            else {                int maxCol = 0;                Hashtable cellist = new Hashtable();                Iterator iter = row.cellIterator();                while (iter.hasNext()) {                    double v = 0;                    HSSFCell cell = (HSSFCell)iter.next();                    int i = cell.getCellNum();                    if (i > maxCol)                        maxCol = i;                    switch (cell.getCellType()) {                        case HSSFCell.CELL_TYPE_STRING:                            String cellValue = (String)cell.getStringCellValue();                            try {                                v = Double.valueOf(cellValue).doubleValue();                            } catch (NumberFormatException nfe) {                                log.warn( "Warning: Not numeric cell at ("+row_no+","+i+"): <" + cellValue + "> - Skipping");                                v = 0;                            }                            break;                        case HSSFCell.CELL_TYPE_NUMERIC:                            v = (double)cell.getNumericCellValue();                            break;                    }                    cellist.put(new Integer(i), new Double(v));                }                tokensArray = new double[maxCol+1];                Enumeration keys = cellist.keys();                while (keys.hasMoreElements()) {                    Integer Icol = (Integer)keys.nextElement();                    Double Dval = (Double)cellist.get(Icol);                    tokensArray[Icol.intValue()] = Dval.doubleValue();                }            }            ++row_no ;            return true;        }        else{            return false;        }    }        public void resetInput() throws IOException {        row_no = mark_row;    }        public void setDecimalPoint(char dp) {        m_decimalPoint = dp;    }        public char getDecimalPoint() {        return m_decimalPoint;    }    }

⌨️ 快捷键说明

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