java唐诗出题试卷代码 java生成试卷( 二 )


public static void main(String[] args) {
String[] poem = new String[]{"赠孟浩然",
"吾爱孟夫子", "风流天下闻",
"红颜弃轩冕", "白首卧松云",
"醉月频中圣", "迷花不事君",
"高山安可仰", "徒此揖清芬"};
String[] keys = new String[poem.length-1]; //存储每句中抽出的单字
String[] items = new String[4];//存储4种备选答案选项
String correctItem;
int i;
drawKey(poem, keys);
correctItem = generateItems(keys, items);
System.out.println("以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:\n");
System.out.println(poem[0]);
for(i=1; ipoem.length; i++){
System.out.println(poem[i] + (i%2==1 ?"," : " 。"));
}
System.out.println();
for(i=0; iitems.length; i++){
System.out.println(items[i]);
}
System.out.print("\n正确答案:" + correctItem);
}
//从各句唐诗中抽取一个字并存储,将该字用“_”代替
public static void drawKey(String[] poem, String[] keys){
int i, pos;
Random rand = new Random();
for(i=1; ipoem.length; i++){
pos=rand.nextInt(poem[i].length());
keys[i-1] = poem[i].substring(pos, pos+1);
poem[i] = poem[i].substring(0, pos) + "_" + poem[i].substring(pos+1);
}
}
//组成备选答案选项,返回正确答案
public static String generateItems(String[] keys, String[] items){
Random rand = new Random();
int[] arr;
int n = keys.length;
int pos = rand.nextInt(4);//正确答案的位置
int i, j;
StringBuffer buff = new StringBuffer();
for(i=0; in; i++){
buff.append(keys[i]);
}
items[pos] = (char)('A' + pos) + ". " + buff.toString();
buff.delete(0, n);
for(i=0; i4; i++){
if(i == pos){
continue;
}
arr = generateArray(n);
for(j=0; jn; j++){
buff.append(keys[arr[j]]);
}
items[i] =(char)('A' + i) + ". " +buff.toString();
buff.delete(0, n);
}
return items[pos];
}
//生成由n个数字[0, n-1]组成的随机数数组
private static int[] generateArray(int n){
int[] arr = new int[n];
Random rand = new Random();
int i;
for(i=0; in;){
arr[i] = rand.nextInt(n);
if(isExistFigure(arr, i, arr[i])){
continue;
}
i++;
}
return arr;
}
//判断某数字在数组中是否存在
private static boolean isExistFigure(int[] arr, int n, int key){
for(int i=0; in; i++){
if(arr[i] == key){
return true;
}
}
return false;
}
}
运行测试:
第一次测试:
以下唐诗的每一句都少一个字,请选择合适的选项 , 将各选项中的字接顺序填充后,形成完整的唐诗:
赠孟浩然
吾_孟夫子,
_流天下闻 。
红颜弃轩_,
白首卧松_ 。
醉月频中_,
迷花不事_ 。
高山安_仰,
_此揖清芬 。
A. 爱徒君风可云冕圣
B. 云徒君风冕圣爱可
C. 君冕圣可风云徒爱
D. 爱风冕云圣君可徒
正确答案:D. 爱风冕云圣君可徒
第二次测试:
以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:
赠孟浩然
吾爱孟夫_ , 
风流天下_ 。
红颜弃_冕,
_首卧松云 。
醉月频_圣,
迷花_事君 。
高山_可仰,
徒此揖_芬 。
A. 不白闻子中轩清安
B. 子闻轩白中不安清
C. 白不闻轩清安子中
D. 清子不白中安轩闻
正确答案:B. 子闻轩白中不安清
跪求java实现B/S考试系统的思路(最好有源代码)做这个题库系统需要按照mvc设计一下, 最近我也实现一个类似的, 下面说下我的设计

推荐阅读