首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

正在编一个类似于检查图书的程序,有有关问题希望高手们能帮忙解答

2012-03-20 
正在编一个类似于检查图书的程序,有问题希望高手们能帮忙解答最近在做一个类似图书目录检查的小程序, 具体

正在编一个类似于检查图书的程序,有问题希望高手们能帮忙解答
最近在做一个类似图书目录检查的小程序, 具体要求是给了我们一堆的图书目录, 每一行目录包含了书的isbn, 书名,作者,出版商 等等之类的信息, 就像这样:

9789185377602#4#Döden i Rom : en annorlunda guide till den eviga staden#Maud Webster#Historiska Media#2006#1#080803
978-0470030776#2#The Romans for Dummies#Guy de la Bédoyère#John Wiley & Sons#2006#1#100504

但是在每一个信息里面都有可能出错, 比如上面的第二本书的isbn编码就有一位不是数字,就必须要写一段代码来检测出这个错误。
除此之外就是还得检测“书名,出版商,作者”这三个地方,在这三个地方里必须要是个有效的值,也就是不能为空了, 因为有些书可能会缺个书名、出版商、作者在里面。
然后最后需要建造两个arraylist,把所有出错的书(一部书里任何地方的信息有错就算)归到一起, 剩下的没有问题的再放到一起。

我的思路是: 先用个bufferreader读出一个包含书目录的TXT文件, 然后用“#”把他们隔开, 然后再建一个object,
像这样设定一些信息:
public Books(String Isbn, String Title, String Author, String Publisher, 
int CopyNumber, int Year, int Statistics, int LcNumber, int BorrowDate, int ReturnDate){
isbn = Isbn; CopyNumber = copyNumber; BorrowDate = borrowDate; 
  …………………………
然后在object里面用try catch 检测isbn和title和author, 像这样:
public boolean setIsbn(String Isbn){
try{
double x = Double.parseDouble(Isbn);
}
catch(Exception e){
return false;
}

this.isbn = Isbn;
return true;
}
public String getIsbn(){
return isbn;
}

然后就没有头绪了, 希望能有高人能指点一下。

[解决办法]
没必要搞得这么复杂吧?我理解除了ISBN检查稍微复杂点,需要判断是否数字,其它都只是判断是否为空?

如果是这样的话,你就直接一个大循环,每次从文件读取一行数据 readLine()

然后String[] items = line.split("#");
就会得到按照items已经切分好的字符串数组;
items[0]就是你需要检测的ISBM;
其它的下标你就直接一个循环: for (int i=1; i< items.length; i++) 检查是否为空串就完了。

有问题的就正行进入 lstWrong.add(line);
没问题的就进入 lstCorrent.add(line);


是这样么?

热点排行