问题 选择题

氯碱工业是一种高耗能产业,一种将燃料电池与电解池组合的新工艺可节能30%以上,下图是该工艺图示(电极未标出)。

下列说法正确的是

A.X为H2,Y为Cl2

B.A池为电解池,且m<n

C.B池为燃料电池,且a<b

D.该工艺优点是燃料电池提供电能且能提高烧碱产品的浓度

答案

CD

A池为电解池,B为燃料电池,燃料电池的工作原理为:燃料进入负极、空气(氧气)进入正极;

A错,X为Cl2,Y为H2;B错,在电解氯化钠溶液时,氯离子不断放电生成氯气,使溶液中氯离子浓度减小,所以A池为电解池,且n<m;C正确,在氢氧燃料电池中,工作时不断生成水,使溶液中氢氧化钠的浓度减小,即B池为燃料电池,且a<b;D正确;

问答题

[说明]

对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图6-1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。

[图6-1]

[Java代码]

//Iterator. java文件

public interface Iterator

public abstract boolean hasNext();

public abstract Object next();

//Aggregate. java文件

public interface Aggregate

public abstract Iterator iterator();

//Book. java

public class Book

//省略具体方法和属性

//BookshelfIterator. java文件

public class Bookshelf工terator (1) Iterator

private BookShelf bookShelf;

private int index;

public BookshelfIterator(BookShelf bookShelf)

this. bookShelf = bookShelf;

this. index = 0;

public boolean hasNext()//判断是否还有下一个元素

if(index < bookShelf. getLength())

return true;

else

return false;

public Object next()f//取得下一个元素

Book book = bookShelf. getBookAt(index);

index++;

return book;

//BookShelf. java

import java. util. Vector;

public class BookShelf

private Vector books;

public BookShelf(int initialsize)

this. books = new Vector(initialsize);

public Book getBookAt(int index)

return(Book)books.get(index);

public int getLength()

return books.size();

public Iterator iterator()

return new BookShelfIterator( (2) );

//Main. java文件

public class Main

public static void main(String args)

BookShelf bookShelf = new BookShelf(4);

//将书籍上架,省略代码

Iterator it = bookShelf. (3) ;

while( (4) )//遍历书架,输出书名

Book book = (Book)it. (5) ;

System.out.printin(" "+book.getName());

(5)处填()。

单项选择题