在AIX Version 5.3中使用Java和PHP技术进行开发(2)
2008-11-13 08:13:58 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨绘い鎺嬪灪閵囧嫰骞囬姣挎捇鏌熸笟鍨妞ゎ偅绮撳畷鍗炍旈埀顒勭嵁婵犲嫮纾介柛灞捐壘閳ь剛鎳撻~婵嬪Ω閳轰胶鐤呯紓浣割儐椤戞瑩宕ョ€n喗鐓曟い鎰靛亝缁舵氨绱撻崘鈺傜婵﹤顭峰畷鎺戔枎閹搭厽袦婵犵數濮崑鎾绘⒑椤掆偓缁夌敻骞嗛悙鍝勭婵烇綆鍓欐俊鑲╃磼閹邦収娈滈柡灞糕偓鎰佸悑閹肩补鈧尙鏁栧┑鐐村灦閹稿摜绮旈悽绋课﹂柛鏇ㄥ灠閸愨偓濡炪倖鍔﹀鈧繛宀婁邯濮婅櫣绱掑Ο璇茶敿闂佺ǹ娴烽弫璇差嚕婵犳碍鏅插璺猴工瀹撳棝姊虹紒妯哄缂佷焦鎸冲畷鎴﹀箻鐠囧弶宓嶅銈嗘尰缁嬫垶绂嶉悙顒佸弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�

公开其他的问题类型
尽管您只定义了两种可能的问题类型,但是应该可以很容易地创建附加的问题类。复选框类型(其中,您可以从可用选项列表中选择多个项目)实际上只是 SurveyQuestionRadio 类的一个扩展。
因为您在集合中记录了回答信息,所以跟踪和记录这些多项的回答是很容易的,可以对这个集合调用 add() 方法对回答进行整理。
其他类型的问卷调查通常可以使用相同的基本结构,或者对其进行扩展。通常,大多数其他类型问卷调查的复杂之处在于条目的处理,而不是可能的结果的存储。例如,分级的选择,其中包含单个问题和分级的回答列表(喜好、非常喜欢、讨厌,等等)是 SurveyQuestionRadio 类的另一种形式。
系列问题——其中有多个单独的问题,但每个都具有相应的等级(例如,一组陈述,每个都具有相应的等级,但是所有这些都属于相同的问题)——是扩展 SurveyQuestionRadio 类的另一个示例。与单个回答一样,可以将信息存储在 question_response 集合中。
构建问卷调查
在有了 SurveyQuestion 类之后,要实际地创建一个问卷调查,您需要为希望询问的每个问题创建每个对象的实例,调用 ask() 方法遍历问题列表,然后输出结果。您可以在清单 7 中看到实现这个目的的代码。
清单 7. Survey 类源代码import java.io.*;
import java.util.*;
public class Survey {
public static void main(String[] args) {
Collection<SurveyQuestion> survey = new ArrayList<SurveyQuestion>();
survey.add(new SurveyQuestionText("Name","Enter your full name"));
survey.add(new SurveyQuestionRadio("Favorite color",
"Enter your favorite color",
new String[] {"Red", "Blue", "Green"}));
for(Iterator<SurveyQuestion> i = survey.iterator(); i.hasNext(); ) {
SurveyQuestion question = (SurveyQuestion) i.next();
question.ask();
}
System.out.println("
===Results===
");
for(Iterator<SurveyQuestion> i = survey.iterator(); i.hasNext(); ) {
SurveyQuestion question = (SurveyQuestion) i.next();
question.showresponse();
}
}
}
更多精彩
赞助商链接