在用java做一个在线考试系统,随机抽题遇到了问题,我写了一个随机抽题的方法,不知道在asp按钮中怎么用
你们看看方法对不对?publicListsuiji(intshitiId,inttimuId,inttimunanyidu,StringtimuLeixing){Stri...
你们看看方法对不对?
public List suiji(int shitiId,int timuId,int timunanyidu,String timuLeixing)
{
String sql="from TTimu where timunanyidu=? UNION all select top 3* from TTimu where timuLeixing='danxuan' order by newid()UNION all select top 2* from TTimu where timuLeixing='yuedu' order by newid()UNION all select top 1* from TTimu where timuLeixing='sheji' order by newid()UNION all select top 2* from TTimu where timuLeixing='tiankong' order by newid()";
Object con[]={shitiId,timuId};
List list=timuShitiDAO.getHibernateTemplate().find(sql,con);
TTimuShiti timuShiti=new TTimuShiti();
timuShiti.setShitiId(shitiId);
timuShiti.setTimuId(timuId);
timuShitiDAO.save(timuShiti);
return list;
}
我把方法写在了loginServer.java中,想用按钮点击一下对数据库t_timu表中的试题进行随机抽题,表中有timu_id,timu_nanyidu(难易度),timu_Leixing(题目类型)等等字段,首先要确定难易度,然后再从相同难易度中随机抽出单选题5个,阅读题2个,设计题1个,填空题3个。
现在不知道方法对不对,还有按钮所在asp代码怎么写 展开
public List suiji(int shitiId,int timuId,int timunanyidu,String timuLeixing)
{
String sql="from TTimu where timunanyidu=? UNION all select top 3* from TTimu where timuLeixing='danxuan' order by newid()UNION all select top 2* from TTimu where timuLeixing='yuedu' order by newid()UNION all select top 1* from TTimu where timuLeixing='sheji' order by newid()UNION all select top 2* from TTimu where timuLeixing='tiankong' order by newid()";
Object con[]={shitiId,timuId};
List list=timuShitiDAO.getHibernateTemplate().find(sql,con);
TTimuShiti timuShiti=new TTimuShiti();
timuShiti.setShitiId(shitiId);
timuShiti.setTimuId(timuId);
timuShitiDAO.save(timuShiti);
return list;
}
我把方法写在了loginServer.java中,想用按钮点击一下对数据库t_timu表中的试题进行随机抽题,表中有timu_id,timu_nanyidu(难易度),timu_Leixing(题目类型)等等字段,首先要确定难易度,然后再从相同难易度中随机抽出单选题5个,阅读题2个,设计题1个,填空题3个。
现在不知道方法对不对,还有按钮所在asp代码怎么写 展开
3个回答
展开全部
import java.util.Random;
import java.util.Scanner;
public class MaxNumber {
private static Scanner input = new Scanner(System.in); // 实例控制台输入类
public static void main(String[] args) {
/*
* 第一步, 按照题目要求 , 我们需要用户输入 10 个数字
*/
int[] numberArray = new int[10]; // 我们先定义一个 可以装 10 个数字的数组
int choose = chooseMode(); // 我加了一个选择模式的函数
if (choose == 1) { // 用户手工输入
for (int i = 0; i < numberArray.length; i++) { // 循环输入
System.out.print("请定义第 '" + (i + 1) + "' 个数字:"); // 输出控制台提示
numberArray[i] = input.nextInt(); // 要求输入, 并存储到数组变量里
}
} else { // 计算机随机生成
Random random = new Random(); // 随机数类
int tempNumber = 0 ; // 临时变量
for (int i = 0; i < numberArray.length; i++) { // 计算机生成
tempNumber = random.nextInt(100) + 1; // 随机生成 1 - 100 的数
System.out.println("计算机生成的第 '" + (i + 1) + "' 个数字是:" + tempNumber);
numberArray[i] = tempNumber; // 赋值
}
}
/*
* 第二步 , 找这 10 个数当中 , 最大的数.
*/
int maxNumber = 0; // 定义一个变量接收最大的数
for (int i = 0; i < numberArray.length; i++) { // 循环寻找
/*
* 循环比对, 一个接一个的, 如果 '当前数' , 比我们已经记录的 '最大数' 还大, 那我们就把当前数 赋给 最大数
*/
if (numberArray[i] > maxNumber) {
maxNumber = numberArray[i];
}
}
System.out.println("其中最大的数是:" + maxNumber); // 输出结果
}
/**
* 选择模式方法
* @return 返回选择的模式的编号
*/
public static int chooseMode() {
System.out.println("------------ 选择模式 ------------");
System.out.println("\t1. 用户输入十个数字");
System.out.println("\t2. 计算机随机产生十个数字");
System.out.print("请选择:");
return input.nextInt(); // 输入, 返回
}
/*
* 其中包函的知识有: 控制台输入, 输出 , 数组 , 循环 , if 判断语句
*/
}
最后:
希望能帮到你,如果有什么问题可以 Hi 我,
看到楼主花了怎么多耐心,写了怎么多判断,也可以见得楼主确实用心了,
只是没找到方法。
import java.util.Scanner;
public class MaxNumber {
private static Scanner input = new Scanner(System.in); // 实例控制台输入类
public static void main(String[] args) {
/*
* 第一步, 按照题目要求 , 我们需要用户输入 10 个数字
*/
int[] numberArray = new int[10]; // 我们先定义一个 可以装 10 个数字的数组
int choose = chooseMode(); // 我加了一个选择模式的函数
if (choose == 1) { // 用户手工输入
for (int i = 0; i < numberArray.length; i++) { // 循环输入
System.out.print("请定义第 '" + (i + 1) + "' 个数字:"); // 输出控制台提示
numberArray[i] = input.nextInt(); // 要求输入, 并存储到数组变量里
}
} else { // 计算机随机生成
Random random = new Random(); // 随机数类
int tempNumber = 0 ; // 临时变量
for (int i = 0; i < numberArray.length; i++) { // 计算机生成
tempNumber = random.nextInt(100) + 1; // 随机生成 1 - 100 的数
System.out.println("计算机生成的第 '" + (i + 1) + "' 个数字是:" + tempNumber);
numberArray[i] = tempNumber; // 赋值
}
}
/*
* 第二步 , 找这 10 个数当中 , 最大的数.
*/
int maxNumber = 0; // 定义一个变量接收最大的数
for (int i = 0; i < numberArray.length; i++) { // 循环寻找
/*
* 循环比对, 一个接一个的, 如果 '当前数' , 比我们已经记录的 '最大数' 还大, 那我们就把当前数 赋给 最大数
*/
if (numberArray[i] > maxNumber) {
maxNumber = numberArray[i];
}
}
System.out.println("其中最大的数是:" + maxNumber); // 输出结果
}
/**
* 选择模式方法
* @return 返回选择的模式的编号
*/
public static int chooseMode() {
System.out.println("------------ 选择模式 ------------");
System.out.println("\t1. 用户输入十个数字");
System.out.println("\t2. 计算机随机产生十个数字");
System.out.print("请选择:");
return input.nextInt(); // 输入, 返回
}
/*
* 其中包函的知识有: 控制台输入, 输出 , 数组 , 循环 , if 判断语句
*/
}
最后:
希望能帮到你,如果有什么问题可以 Hi 我,
看到楼主花了怎么多耐心,写了怎么多判断,也可以见得楼主确实用心了,
只是没找到方法。
展开全部
JAVA的后台,ASP的前台,你太有才了
没有看你的数据库结构,根本无法分析你的拼写是否正确,而且你也没有给全查询语句,这个实在无法帮忙分析了。
按钮中获取到List后你想如何展示?
之前我做过的获取到的List里面是已经生成好的几个QuestModel对象,每个对象里面有题目要求,分值,选项,正确答案等属性。
生成的时候
第一个单元
先生成题号,这个简单,是顺序叠加的
然后生成题目,在题号后生成
第二个单元
选项,顺序生成a.b.c.d.的选项头,后面的答案和题目生成一样,取值方面之前我们设计的是给每个选项一个参考值,然后收集完毕拿这个参考值去与正确答案的参考值比对。比如第三个选项正确,参考值可能是kima,后面的答案也是kima,而不是C。
第三个单元
隐藏的,记录此题目是否已经回答,用AJAX的话就不需要这个单元了,方便综合查看哪些题目没有回答用的。基本上就这么多。
如果你要设计一个页面中添加多个题目就复杂点了。
没有看你的数据库结构,根本无法分析你的拼写是否正确,而且你也没有给全查询语句,这个实在无法帮忙分析了。
按钮中获取到List后你想如何展示?
之前我做过的获取到的List里面是已经生成好的几个QuestModel对象,每个对象里面有题目要求,分值,选项,正确答案等属性。
生成的时候
第一个单元
先生成题号,这个简单,是顺序叠加的
然后生成题目,在题号后生成
第二个单元
选项,顺序生成a.b.c.d.的选项头,后面的答案和题目生成一样,取值方面之前我们设计的是给每个选项一个参考值,然后收集完毕拿这个参考值去与正确答案的参考值比对。比如第三个选项正确,参考值可能是kima,后面的答案也是kima,而不是C。
第三个单元
隐藏的,记录此题目是否已经回答,用AJAX的话就不需要这个单元了,方便综合查看哪些题目没有回答用的。基本上就这么多。
如果你要设计一个页面中添加多个题目就复杂点了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想问一下我做了登录按钮,跳转功能也实现了,但是跳转过去后的考卷页面怎么实现出来,麻烦讲详细一点,附上代码,有奖励 谢谢,急在线等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询