在AIX Version 5.3中使用Java和PHP技术进行开发(2)
2008-11-13 08:13:58 来源:WEB开发网要填充可能的选项,您需要在创建这个对象时接受一个数组,然后遍历这个数组,以填充 question_options 的集合(请参见清单 5)。
清单 5. 填充 question_options 的集合for(int i=0;i<options.length;i++) {
this.question_options.add(options[i]);
}
在调用 askspecific() 时,您需要输出可用选项的列表以及相应的参考编号。要实现这一点,您可以遍历该集合,并打印出选项值及其关联的整数值,针对每个选项递增这个值,请参见清单 6 中所示的代码片段:
清单 6. 对这个值进行递增System.out.println("Choose from:");
for(Iterator<String> i = this.question_options.iterator();
i.hasNext(); ) {
System.out.println("(" + opt + ") " + i.next());
opt++;
}
这部分工作非常简单。复杂的部分是获得输入。getresponse() 的返回类型是一个字符串,所以您必须将这个字符串转换为一个整数,以匹配可能的选项选择。responsestate 变量用于对回答进行验证。如果用户输入了一些无法解析为一个整数的内容,那么 responsestate 将设置为 false。类似地,如果解析所得的整数超出了可接受的值的范围,您同样需要将 responsestate 设置为 false。在出现这两种错误情况时,您需要再次触发 getresponse() 以获得相应的问题回答。
如果您获得了有效的输入,那么您可以将相应选项的值(而不是其编号)记录在 question_response 集合中。您之所以这样做是因为,相对于参考编号,回答的内容更加有价值。
在任何情况下,对于集合,您始终可以通过所记录的字符串,找到该字符串在集合中的索引。
更多精彩
赞助商链接