在石头剪刀布这个项目中,包含两个页面.一个是供用户选择的页面,一个是向用户展示结果的页面.
这两个页面都是jsp页面,但结果页面涉及的逻辑判断需要使用java代码实现,此时就需要将语句,表达式等包含在 <%%>中
1.选择页面:
展示页面
提交用户选择到结果页面
在上述代码段中,我们给了单选框value属性,name属性,以及一个checked属性
value:由于结果不在此页面给出,那么在用户提交表单后,我们需要记住用户的选项,因此需要为不同的选项设置不同的value以表示该选项
name:在选择页面用户需要将自己的选项发送出去,结果页面也需要获得用户发送的结果,因此设置name属性供结果页面查找
checked:在选择页面时,为防止用户提交空表单,以造成资源浪费,故设置默认选项
2.结果页面:
拿到用户的选项
给出电脑的选项
做判断
给出结果
电脑的选项我们利用Math.random()函数随机给出,由于此函数仅能给出0到1之间的随机小数,我们需要将其转换为0到2的整数,因此乘10对3取余,然后取整.
获取数值后,我们需要将其与三个选项联系起来,我们选用数组存放选项,然后将随机数作为数组的下标,如此就能拿到电脑的选项
获取用户提交的结果,我们可以用到request对象的getParameter(String name)方法获取结果,
需要注意,此时我们获取的结果并不是直接的石头,剪刀,而是我们提前设置好的value值,为String类型,此时我们已经建立了选项的数组,我们只需要将获取到的值和和数组的值对应起来即可,因此需要将String类型的value转换为int类型
在判断阶段,利用equals()方法判断电脑的选项和用户的选项是否相等,若相等则平局
然后判断用户选项是否为石头,剪刀或布,电脑选项是否为剪刀,布,石头,若是,则电脑输
若用户选项是石头,剪刀或布,电脑选项是布,石头,剪刀,则电脑赢
给出结果,和跳转会选择页面的超链接