The basic components of the Personal Self-Assessment Environment are:
Here are the specific requirements for this project.
% java -jar johnson-P1.jar -qa test.qa -listThis invocation loads your program from the file johnson-P1.jar, and passes it the command line args '-qa java-cert-ch-1.qa'. I will require you to use the Java2 jar file facility for packaging and submission of your programs this semester. For instructions on how to use the jar facility, see: http://java.sun.com/docs/books/tutorial/jar/basics/run.html. I've also created a simple set of instructions in jar-files.html.
Here is an example run of the system:
% java -jar johnson-P1.jar -qa test.qa Personal Self-Assessment Environment V1.0 Philip Johnson Loading question title: Package Loading question title: Bar Bad Question encountered. Continuing. Loading question title: Foo 3 questions successfully loaded.Note that in this invocation, the '-list' parameter was omitted, thus the questions were not written to standard out after loading. Here is an example run of the system with the -list command line arg:
% java -jar johnson-P1.jar -qa test.qa -list Personal Self-Assessment Environment V1.0 Philip Johnson Loading question title: Package Loading question title: Bar Bad Question encountered. Continuing. Loading question title: Foo 3 questions successfully loaded. Listing of loaded questions: Type: MC:N Title: Package Category: Bar Question: Example question 1. Answer:100 Example answer 1 Answer:0 Example answer 2 Type: MC:N Title: Bar Category: Bar Question: Example question 2. Answer:100 Another example answer Answer:0 Yet another example answer. Type: MC:N Title: Foo Category: Bar Question: What does foo mean? Answer:100 Foo is the canonical meta-syntactic variable. Answer:0 Foo is a transmogrification of fubar.
Thus, the requirements for this project increment focus entirely on command line processing and input of a .qa file. For this increment, you don't need to actually do anything with the questions once you have read them in, other than to write them out if the -list command has been specified.