在AIX Version 5.3中使用Java和PHP技术进行开发(2)
2008-11-13 08:13:58 来源:WEB开发网ask() ——这个方法在 SurveyQuestion 中进行了定义,并且没有进行重载,它用于向用户提出一个问题。通过 SurveyQuestion 类方法输出实际的问题文本,并且通过相应子类的方法 askspecific() 输出特定的元素(例如,可用选项的列表)。
askspecific()——这是在提出问题时需要输出附加信息的所有问题类型所需的内容。在基类中,您将定义它,但其定义内容为空。
getresponse() ——这个方法是一个简单的 Input Reader 的包装。对于您的基本应用程序,这个方法将接受来自键盘的输入。请注意,它并不输出信息,它只是子类用来访问信息的工具方法而已。将由不同的类来填充对象中的 question_response 集合,以存储回答信息。
showresponse() ——这个方法输出 question_response 中所包含的信息。
让我们来研究一下 SurveyQuestion 类的代码,如清单 1 中所示。
清单 1. SurveyQuestion 类源代码import java.util.*;
import java.io.*;
public class SurveyQuestion {
String question_text;
String question_help;
String question_type;
Collection<String> question_options = new ArrayList<String>();
Collection<String> question_response = new ArrayList<String>();
public void SurveyQuestion(String qtext,
String qhelp) {
question_text = qtext;
question_help = qhelp;
}
public void ask() {
System.out.println("Q: " + this.question_text + "? ");
System.out.println("(" + this.question_help + ")");
this.askspecific();
System.out.println();
}
public void askspecific() {};
static BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
public String getresponse() {
String line = null;
try {
line = in.readLine();
if (line != null) line = line.trim();
return line;
} catch (Exception e) {}
return(line);
}
public void showresponse() {
System.out.println("Q: " + this.question_text + "? ");
for(Iterator<String> i = this.question_response.iterator(); i.hasNext(); ) {
System.out.println(i.next());
}
System.out.println();
}
}
更多精彩
赞助商链接