1._______是嵌入式操作系统
A.window XP
B.DOS
C.window 2000
D.window CE
****
2.java语言提供处理不同类型流的包是______
A.java.sql
B.java.util
C.java.math
D.java.io
****
3.以下关窗口的说法错误的是_____
A.窗口可以改变大小
B.窗都无论何时都可以移动位置
C.窗口都有标题栏
D.可以再打开多个窗口间切换
****这些都是放在同一个文件里的,现在怎么样才能根据图里的下一个按钮,跳到此文件下一题,按上一题按钮回到上一题,用java代码怎么实现呀
答:
我的想法是这样的.
//代表选项的对象.例如代表: A.窗口可以改变大小, B.窗都无论何时都可以移动位置
class Choice implements Comparable{
private char id=null; //代表可选项号(A,B,C,D)
private String context="";//代表可选项内容:例如:窗口可以改变大小
/*以id定义equals() hashcode() compareTo()方法*/
}
//代表题目对象.
class Question implements Comparable{
private int id=0;//题目的编号(例如:1, 2,3, 4, 5, 等)
private String context="";//题目的内容:例如:"以下关窗口的说法错误的是_____"
private Set<Choice> choices = new TreeSet<Choice>();//保存ABCD四个选项对象
private Char rightChoice=null;//每道题都要有自己的正确答案.
/*以id定义equals() hashcode() compareTo()方法*/
}
数据文件exam.dat中存放着Choice和Question 的数据.数据格式你自己定义.然后写一个DAO接口
public interface QuestionDataService{
public Set<Question> readData();
}
//DAO的一种实现(从文件读取数据)
public QuestionDataServiceFromFile implements QuestionDataService{
实现readData()方法,从exam.dat文件读数据,把数据映射成对象,放到Set中.因为防止exam.dat的数据不规范(例如题号重复等,)所以这里使用Set.保证每个题目对象都是唯一的.
}
//主要的业务逻辑类,题目服务.
class QuestionServiceImpl implements QuestionService{
private List<Question> questionList = new ArrayList<Question>();
//为了程序可以,按上一题下一题来访问列表中的"题目对象",要把Set集合转成List.因为List随机访问比较好.list.get(index);
private void convert(){
Set<Question> questionSet = new QuestionDataServiceFromFile().readData();
for(){//Set中的元素是按题号升序的,把它们存到questionList中.
}
}
}
//
这样GUI的事件处理器,就可以使用QuestionServiceImpl的对象遍历题目的List列表了.只要你用一个int currentQuestionID记录当前题号.就可以随意地.从List中取上一个或下一个题号了
List.get(currentQuestionID-1);//取上一个题.
List.get(currentQuestionId+1);//取下一个题.
注意在取题时要判断题号的合法性.
如果当前是第一题,或最后一题.要把对应的"下一题","上一题"按钮.禁用.
为什么要使用DAO呢?是为了万一这个程序,以后支持数据库了,你只要实现一个
public QuestionDataServiceFromDB implements QuestionDataService{}
就可以了.Swing程序,与业务逻辑所有代码都不用改.
希望对你有帮助..