【Java SE】利用Java的for循环加random制作小学试卷
前期介绍:很多同学以为学习一门编程语言,一定要学到很高深的时候才可以做项目,其实不然,很多时候我们不需要学到面向对象的思想,就可以从事一些小项目的开发,来增加自己对开发的热情,比如现在我就可以利用Java语句的for循环和random方法来制作一份简易的小学试卷题目,当我们做完这份试卷的时候就可以 给操作者打分得出最后的成绩。
1.知识储备:
a.for循环:for循环用于重复执行某几条语句,直到某个循环条件不能得到满足退出循环。
for(int i = 0;i<10;i++){
Sysout.out.println("Hello World");
}
b.random:产生一个随机数,该随机数大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
double a = Math.random();
2.方法定义:
public void test(){
int sum = 0;
for(int i=1;i<=10;i++){
int a = (int)(Math.random()*100+1);
int b = (int)(Math.random()*100+1);
System.out.println("第"+i+"道题:");
System.out.print(a+"+"+b+"=");
Scanner input = new Scanner(System.in);
int c = input.nextInt();
if(c==(a+b)){
sum++;
}
}
System.out.println("你的最后得分为:"+sum*10);
}
a.思路分析:
【1】首先定义一个方法,方法名按个人爱好定义。
【2】由于要得出最后的总成绩,我们先定义一个sum,用来存储答题者答对题的个数。
【3】写一个循环用于打印题目的个数,另外在循环里需要用一个if语句,当答题者答对题之后,sum的值加1.
3.main方法中调用方法。
HomeWork t = new HomeWork();
System.out.println("欢迎来到考试教育系统,你是否有勇气继续挑战(y/n)");
Scanner input = new Scanner(System.in);
String a = input.next();
if(a.equals("y")){
System.out.println("===欢迎进入考试系统===");
System.out.println("请开始你的作答");
t.test();
}
else{
System.out.println("你应该更自信的尝试。");
}
a.思路分析:
【1】调用方法的时候我们需要new一个对象。
【2】判定学生是否要进入这个系统答题
【3】调用方法开始答题。
4.源码(开源改变世界)
package liuenci.cn.package_5;
import java.util.Scanner;
public class HomeWork {
/**
* 制作一份小学数学试卷,做完得出成绩
*/
public static void main(String[] args) {
HomeWork t = new HomeWork();
System.out.println("欢迎来到考试教育系统,你是否有勇气继续挑战(y/n)");
Scanner input = new Scanner(System.in);
String a = input.next();
if(a.equals("y")){
System.out.println("===欢迎进入考试系统===");
System.out.println("请开始你的作答");
t.test();
}
else{
System.out.println("你应该更自信的尝试。");
}
}
public void test(){
int sum = 0;
for(int i=1;i<=10;i++){
int a = (int)(Math.random()*100+1);
int b = (int)(Math.random()*100+1);
System.out.println("第"+i+"道题:");
System.out.print(a+"+"+b+"=");
Scanner input = new Scanner(System.in);
int c = input.nextInt();
if(c==(a+b)){
sum++;
}
}
System.out.println("你的最后得分为:"+sum*10);
}
}
5.效果图:


6.外话:
代码如有bug,请在下方评论区留言。
【Java SE】利用Java的for循环加random制作小学试卷的更多相关文章
- Java SE、Java EE、Java ME
Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.J ...
- 浅谈Java SE、Java EE、Java ME三者的区别
本文把JAVA SE.JAVA EE.JAVA ME拿来做下区别,同时也分享一下作者的一些成果.目前的Java平台根据软件开发人员.服务提供商和设备生产商可以针对特定的市场可以分为三个版本JAVA S ...
- Java SE、Java EE、Java ME 三者区别
现在一个个来分析 1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 ...
- 24. Java SE 、 Java EE 、JavaME 、 JavaWeb 直接的区别和联系
这个是在别人博客抄的,并不是本人撰写 Java是一门编程语言.Java分为三大版本,SE即标准版,包含了Java核心类库,主要用来开发桌面应用:EE即企业版,包含SE,又有扩展部分(Servlet,J ...
- Java SE、Java EE、Java ME三者的区别
1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...
- Java SE、Java EE和Java ME有什么区别?
Java现在已不仅仅是一种语言,从广义上说,它代表了一个技术体系.该体系根据应用方向的不同主要分为Java SE.Java EE和Java ME的3个部分. 1998年12月份Sun公司公布的Java ...
- java的几个版本以及jre,jdk等概念——【转载】JDK、Java SE、Java EE、Java ME我该选
我们平时使用的一些软件,有一部分需要Java环境的支持,但是SUN那么多的产品,让人眼花缭乱的版本号,前看后看都差不多的缩写,让我们选择起来的时候常常望而却步,只好跟着感觉走.所以下面我要介绍的就是那 ...
- Java、Java SE、Java Web和Java EE的区别
刚接触Java对这些概念上的东西有点模糊,查了很多资料,想把它分享出来,要是哪里不对请大家指正(^_^) 1.Java 毫无疑问这就是门语言和C.C++.C#一样没什么好说的. 2.Java SE和J ...
- Java:利用java Timer类实现定时执行任务的功能
一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务.TimerTask一个抽象类,它的子类代 ...
随机推荐
- java做单用户的多重并发会话数限制
判定条件很简单,就是在同一时刻,同一帐号仅在一个终端上可正常操作. 我这里用简单的key,value进行判定,将用户存储在map里面,新登录用户登陆进系统后,判断map里是否存在当前用户,若存在就删除 ...
- oracle删除字段中的空格、回车及指定字符
create or replace procedure PROC_test is --Description:删除字段中的指定字符(回车chr(13).换行chr(10)) --By LiChao - ...
- API的文档自动生成——基于CDIF的SOA基本能力
当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST ...
- Nginx编译参数
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector //设置额外的参数将被添加到CFLAGS变量.(FreeBSD或者 ...
- grep的用法笔记
1.grep搜索不保护字符串的命令格式如下: #带-v参数 jevan@df ~ grep "agc" -vRn ./
- 通过js获取元素css3的transform rotate旋转角度方法
我们再试用jquery获取样式的时候是通过$('domName').css('transform'):的方式来获取元素的css样式,但是通过它获取到的css3的transform属性是以矩阵的方式呈现 ...
- c++中enum的用法——枚举类型
将变量的可取值全部列举出来,写在程序的开头,使用该类型的时候显示地指定取值即可(即对枚举变量进行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了说明枚举变量是不能直接赋予算数值的). 如: e ...
- Mybatis(四) 高级映射,一对一,一对多,多对多映射
天气甚好,怎能不学习? 一.单向和双向 包括一对一,一对多,多对多这三种情况,但是每一种又分为单向和双向,在hibernate中我们就详细解析过这单向和双向是啥意思,在这里,在重复一遍,就拿一对多这种 ...
- SQL基础增删改查
一.基础语句介绍 SQL 可以分为两个部分:数据操作语言(DML)和数据定义语言(DDL) 1.数据操作语言(DML)基本指令: select 从数据表中获取数据(现阶阶段,二次开发常用) ...
- CentOS 6.8下安装docker并使用
Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup实现了资源的独立,可以很轻松的实现文件.资 ...