亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? filecatalogloader.java

?? 這是我修讀美國(guó)卡耐基梅隆大學(xué)Carnegie Mellon University(CMU)課程ssd3:Object-Oriented Programming and Design時(shí)完成的課程設(shè)計(jì)
?? JAVA
字號(hào):
import java.util.*;
import java.io.*;

/**
 * Creates a coffee catalog and loads it with data stored in
 * a file.
 *
 * @author 張維
 * @version  1.0.0
 * @see CatalogLoader
 * @see Catalog
 * @see CatalogItem
 * @see Product
 * @see Coffee
 * @see CoffeeBrewer
 */
public class FileCatalogLoader implements CatalogLoader  {

    /* Prefix of a line with product data */
    private final static String PRODUCT_PREFIX = "Product";

    /* Prefix of a line with coffee data */
    private final static String COFFEE_PREFIX = "Coffee";
    
    /* Prefix of a line with brewer data */
    private final static String Brewer_PREFIX = "Brewer";

    /* Delimiter */
    private final static String DELIM = "_";

    /**
     * Loads the information in the specified file into a 
     * catalog and returns the catalog.
     *
     * @param filename  The name of a file that contains catalog
     *                  information.
     * @return a catalog.
     * @throws FileNotFoundException  if the specified file does not
     *                                exist.
     * @throws IOException if there is an error reading the
     *                     information in the specified file.
     * @throws DataFormatException if the file contains malformed
     *                             data.
     */
    public Catalog loadCatalog (String filename) throws IOException,
        FileNotFoundException, DataFormatException {

        Catalog catalog = new Catalog();

        BufferedReader reader =
            new BufferedReader(new FileReader(filename));
        String line =  reader.readLine();

        while (line != null) {

            Product product = null;

            if (line.startsWith(PRODUCT_PREFIX)) {
                product = readProduct(line);
            } else if (line.startsWith(COFFEE_PREFIX)) {
                product = readCoffee(line);
            } else if (line.startsWith(Brewer_PREFIX)) {
                product = readCoffeeBrewer(line);
            }else {

                throw new DataFormatException(line);
            }

            catalog.addProduct(product);

            line =  reader.readLine();
        }

        return catalog;
    }

    /**
     * Extracts the product data in the specified line and returns
     * a {@link Product} object that encapsulates the product data.
     *
     * @param line  a string that contains product data.
     * @return  a <code>Product</code> object that encapsulates the
     *          product data in the specified line.
     * @throws DataFormatException if the line contains errors.
     */
    private Product readProduct (String line) throws DataFormatException {

        StringTokenizer tokenizer = new StringTokenizer(line, DELIM);

        if (tokenizer.countTokens() != 4) {

            throw new DataFormatException(line);
        } else {
            try {

                String prefix = tokenizer.nextToken();

                return new Product(tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  Double.parseDouble(tokenizer.nextToken()));
            } catch (NumberFormatException  nfe)  {

                throw new DataFormatException(line);
            }
        }
    }

    /**
     * Extracts the coffee data in the specified line and returns
     * a {@link Coffee} object that encapsulates the coffee data.
     *
     * @param line  a string that contains coffee data.
     * @return  a <code>Coffee</code> object that encapsulates the
     *          coffee data in the specified line.
     * @throws DataFormatException if the line contains errors.
     */
    private Coffee readCoffee (String line)
    throws DataFormatException {

        StringTokenizer tokenizer = new StringTokenizer(line, DELIM);

        if (tokenizer.countTokens() != 10) {

            throw new DataFormatException(line);
        } else {
            try {

                String prefix = tokenizer.nextToken();

                return new  Coffee (tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  Double.parseDouble(tokenizer.nextToken()),
                                  tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  tokenizer.nextToken());
            } catch (NumberFormatException  nfe)  {

                throw new DataFormatException(line);
            }
        }
    }
    
    /**
     * Extracts the brewer data in the specified line and returns
     * a {@link Coffeebrewer} object that encapsulates the brewer data.
     *
     * @param line  a string that contains brewer data.
     * @return  a <code>Coffeebrewer</code> object that encapsulates the
     *          brewer data in the specified line.
     * @throws DataFormatException if the line contains errors.
     */
    private CoffeeBrewer readCoffeeBrewer (String line)
    throws DataFormatException {

        StringTokenizer tokenizer = new StringTokenizer(line, DELIM);

        if (tokenizer.countTokens() != 7) {

            throw new DataFormatException(line);
        } else {
            try {

                String prefix = tokenizer.nextToken();

                return new  CoffeeBrewer (tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  Double.parseDouble(tokenizer.nextToken()),
                                  tokenizer.nextToken(),
                                  tokenizer.nextToken(),
                                  Integer.parseInt(tokenizer.nextToken()));
            } catch (NumberFormatException  nfe)  {

                throw new DataFormatException(line);
            }
        }
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区免费在线看| 久久久久久久久一| 成人av电影在线播放| 卡一卡二国产精品| 视频一区国产视频| 亚洲免费观看在线视频| 国产欧美日产一区| 精品国产1区2区3区| 欧美一二三在线| 欧美日韩精品免费| 在线观看不卡视频| 色婷婷国产精品| 91影院在线观看| 99精品久久免费看蜜臀剧情介绍| 精品一区二区日韩| 久久狠狠亚洲综合| 麻豆91在线播放| 日韩和的一区二区| 亚洲第一综合色| 亚洲猫色日本管| 亚洲欧洲韩国日本视频| 中文字幕在线一区免费| 极品少妇一区二区| 五月婷婷久久综合| 亚洲大片精品永久免费| 亚洲午夜精品在线| 亚洲成人av电影在线| 亚洲高清三级视频| 亚洲国产成人高清精品| 丝瓜av网站精品一区二区| 日韩综合一区二区| 老色鬼精品视频在线观看播放| 日韩av中文字幕一区二区三区| 日韩高清国产一区在线| 日韩福利视频导航| 精品午夜一区二区三区在线观看| 激情成人综合网| 国产精品18久久久| www.成人在线| 在线免费av一区| 欧美精选一区二区| 337p日本欧洲亚洲大胆色噜噜| 久久精品在线免费观看| 国产精品久久久久影院色老大| 日韩一区欧美一区| 亚洲与欧洲av电影| 免费人成在线不卡| 欧美精品第1页| 日韩午夜精品视频| 欧美亚州韩日在线看免费版国语版| 成人国产精品免费观看动漫| 一区二区三区在线播放| 亚洲aaa精品| 激情综合五月婷婷| 成人免费毛片a| 色呦呦国产精品| 欧美一区2区视频在线观看| 26uuu亚洲婷婷狠狠天堂| 亚洲国产精品成人综合色在线婷婷| 亚洲欧洲在线观看av| 亚洲国产一区视频| 精品综合久久久久久8888| 大胆欧美人体老妇| 99久久精品情趣| 欧美手机在线视频| 久久伊人中文字幕| 亚洲精品乱码久久久久久| 麻豆精品视频在线| 2023国产精华国产精品| 亚洲欧美日韩国产综合在线 | 精品乱码亚洲一区二区不卡| 亚洲精品一区二区三区四区高清| 久久久久九九视频| 综合在线观看色| 免费一级欧美片在线观看| 波多野结衣在线aⅴ中文字幕不卡| 欧美三级欧美一级| 久久精品亚洲一区二区三区浴池| 亚洲三级电影网站| 国模无码大尺度一区二区三区| 91同城在线观看| 久久久电影一区二区三区| 亚洲制服欧美中文字幕中文字幕| 狠狠色丁香久久婷婷综合丁香| aaa欧美大片| 日韩亚洲欧美中文三级| 亚洲特级片在线| 国产乱码精品一区二区三区av| 欧美色图在线观看| 中文一区在线播放| 精品一区二区三区免费| 欧美日韩一级二级三级| 国产精品国产三级国产普通话三级| 视频一区二区三区中文字幕| 91美女片黄在线观看91美女| 欧美精品一区男女天堂| 亚洲一区二区中文在线| 成人看片黄a免费看在线| 日韩一级在线观看| 亚洲第一会所有码转帖| 激情综合色综合久久| 久久精品99国产精品| 韩国成人在线视频| 欧美日韩精品综合在线| 亚洲桃色在线一区| 成人黄色电影在线| 久久影院午夜片一区| 美女诱惑一区二区| 欧美视频中文一区二区三区在线观看| 最新日韩av在线| 国产成人精品免费视频网站| 精品国产污污免费网站入口| 天天色综合天天| 欧美少妇一区二区| 国产精品久久久久婷婷二区次| 精品一区二区三区免费视频| 欧美精品自拍偷拍动漫精品| 一区二区三区日韩| 91精品福利在线| 亚洲品质自拍视频网站| 91麻豆.com| 亚洲另类春色国产| 色94色欧美sute亚洲线路一久| 日韩一区在线播放| 色乱码一区二区三区88| 亚洲美女偷拍久久| 色综合天天性综合| 亚洲激情六月丁香| 在线看不卡av| 亚洲午夜精品久久久久久久久| 在线观看日韩国产| 亚洲第一二三四区| 8v天堂国产在线一区二区| 日本在线不卡一区| 欧美成人一区二区三区片免费| 久久99精品久久只有精品| 精品国产第一区二区三区观看体验| 国产综合色视频| 中文字幕精品一区二区三区精品| 亚洲最新视频在线观看| 欧美国产精品专区| 在线观看av一区| 色综合久久99| 久久99国产精品尤物| 日韩小视频在线观看专区| 久久国产尿小便嘘嘘| 久久综合色8888| 99久久综合狠狠综合久久| 亚洲日本电影在线| 欧美三级视频在线观看 | 亚洲裸体在线观看| 欧美视频一区在线| 久久精品国产第一区二区三区| 久久亚洲二区三区| 一本久道中文字幕精品亚洲嫩| 亚洲午夜精品久久久久久久久| 欧美一区二区国产| 久久久99免费| 91在线观看污| 午夜视频久久久久久| 2020国产精品自拍| 一本色道亚洲精品aⅴ| 视频一区视频二区中文| 国产偷国产偷精品高清尤物 | 国产精品一区二区在线观看网站| 中文成人综合网| 欧美亚一区二区| 国产不卡一区视频| 五月天欧美精品| 欧美精品一区二区三区视频 | 国产.欧美.日韩| 亚洲伦在线观看| 欧美成人猛片aaaaaaa| 波多野结衣在线一区| 日韩精品亚洲一区二区三区免费| 欧美激情一区二区| 欧美精品九九99久久| 成人永久aaa| 美女任你摸久久| 欧美国产日产图区| 欧美精品久久久久久久多人混战| 久久99精品一区二区三区三区| 国产精品色眯眯| 7777精品伊人久久久大香线蕉超级流畅 | 日韩女优电影在线观看| 91久久精品国产91性色tv| 成人午夜视频在线| 国产一区二区成人久久免费影院| 婷婷久久综合九色综合绿巨人| 日韩理论片中文av| 国产欧美精品国产国产专区| 欧美本精品男人aⅴ天堂| 欧美精品三级在线观看| 欧美性大战久久久| 色综合中文字幕| 99re8在线精品视频免费播放| 国产寡妇亲子伦一区二区| 精品综合免费视频观看| 全部av―极品视觉盛宴亚洲| 亚洲第一二三四区|