import java.util.Random
public class Test0201 {
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=1i<poem.lengthi++){
System.out.println(poem[i] + (i%2==1 ?"," : "。"))
}
System.out.println()
for(i=0i<items.lengthi++){
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=1i<poem.lengthi++){
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=0i<ni++){
buff.append(keys[i])
}
items[pos] = (char)('A' + pos) + ". " + buff.toString()
buff.delete(0, n)
for(i=0i<4i++){
if(i == pos){
continue
}
arr = generateArray(n)
for(j=0j<nj++){
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=0i<n){
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=0i<ni++){
if(arr[i] == key){
return true
}
}
return false
}
}
运行测试:
第一次测试:
以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:
赠孟浩然
吾_孟夫子,
_流天下闻。
红颜弃轩_,
白首卧松_。
醉月频中_,
迷花不事_。
高山安_仰,
_此揖清芬。
A. 爱徒君风可云冕圣
B. 云徒君风冕圣爱可
C. 君冕圣可风云徒爱
D. 爱风冕云圣君可徒
正确答案:D. 爱风冕云圣君可徒
第二次测试:
以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:
赠孟浩然
吾爱孟夫_,
风流天下_。
红颜弃_冕,
_首卧松云。
醉月频_圣,
迷花_事君。
高山_可仰,
徒此揖_芬。
A. 不白闻子中轩清安
B. 子闻轩白中不安清
C. 白不闻轩清安子中
D. 清子不白中安轩闻
正确答案:B. 子闻轩白中不安清
//下面是用一维数组写的public class Test {
public static void main(String[] args) {
String shi="锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦"
String[] shis=shi.split(",")
for(int j=0j<5j++){
for(int i=shis.length-1i>=0i--){
System.out.print(shis[i].charAt(j)+"蠢察 ")
}
System.out.println()
}
}
}
//下面是用2维数组写的
public class Test {
public static void main(String[] args) {
String[][] shi={{"锄","禾","日","当","午"},{"汗","滴"神棚,"禾","下带瞎茄","土"},
{"谁","知","盘","中","餐"},{"粒","粒","皆","辛","苦"}}
for(int j=0j<5j++){
for(int i=shi.length-1i>=0i--){
System.out.print(shi[i][j]+" ")
}
System.out.println()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)