前期介绍:很多同学以为学习一门编程语言,一定要学到很高深的时候才可以做项目,其实不然,很多时候我们不需要学到面向对象的思想,就可以从事一些小项目的开发,来增加自己对开发的热情,比如现在我就可以利用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制作小学试卷的更多相关文章

  1. Java SE、Java EE、Java ME

    Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.J ...

  2. 浅谈Java SE、Java EE、Java ME三者的区别

    本文把JAVA SE.JAVA EE.JAVA ME拿来做下区别,同时也分享一下作者的一些成果.目前的Java平台根据软件开发人员.服务提供商和设备生产商可以针对特定的市场可以分为三个版本JAVA S ...

  3. Java SE、Java EE、Java ME 三者区别

    现在一个个来分析 1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 ...

  4. 24. Java SE 、 Java EE 、JavaME 、 JavaWeb 直接的区别和联系

    这个是在别人博客抄的,并不是本人撰写 Java是一门编程语言.Java分为三大版本,SE即标准版,包含了Java核心类库,主要用来开发桌面应用:EE即企业版,包含SE,又有扩展部分(Servlet,J ...

  5. Java SE、Java EE、Java ME三者的区别

    1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...

  6. Java SE、Java EE和Java ME有什么区别?

    Java现在已不仅仅是一种语言,从广义上说,它代表了一个技术体系.该体系根据应用方向的不同主要分为Java SE.Java EE和Java ME的3个部分. 1998年12月份Sun公司公布的Java ...

  7. java的几个版本以及jre,jdk等概念——【转载】JDK、Java SE、Java EE、Java ME我该选

    我们平时使用的一些软件,有一部分需要Java环境的支持,但是SUN那么多的产品,让人眼花缭乱的版本号,前看后看都差不多的缩写,让我们选择起来的时候常常望而却步,只好跟着感觉走.所以下面我要介绍的就是那 ...

  8. Java、Java SE、Java Web和Java EE的区别

    刚接触Java对这些概念上的东西有点模糊,查了很多资料,想把它分享出来,要是哪里不对请大家指正(^_^) 1.Java 毫无疑问这就是门语言和C.C++.C#一样没什么好说的. 2.Java SE和J ...

  9. Java:利用java Timer类实现定时执行任务的功能

    一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务.TimerTask一个抽象类,它的子类代 ...

随机推荐

  1. ActiveMQ Part 1 : 基本安装配置(windows 版本)

    1. 安装启动服务 A) 首先下载并安装最新的 JDK(本文使用:jdk-8u66-windows-x64.exe) B) 从官网下载最新的安装包(本文下载版本为:http://activemq.ap ...

  2. Vue.js 插件开发详解

    前言 随着 Vue.js 越来越火,Vue.js 的相关插件也在不断的被贡献出来,数不胜数.比如官方推荐的 vue-router.vuex 等,都是非常优秀的插件.但是我们更多的人还只停留在使用的阶段 ...

  3. 解决Highcharts 5.0.7,IE8下bar类型图表无法显示的问题

    引用如上, 当图标类型为bar时,IE8无法直接显示, 官网也一样, 但通过切换图例可以显示, 所以加入以下代码解决此问题 未经允许,严禁转载!!!

  4. Openstack新建云主机的流程

    前言 前天晚上没睡觉,所以昨天睡得很早,导致今天4点就起来了 时间是人最宝贵的财富,于是我打消了钻在被子里刷剧的念头,爬起来整理一下在Openstack中新建一个云主机的流程. Openstack可以 ...

  5. sas2ircu工具信息收集及磁盘定位

    最近几台Dell服务器的磁盘损坏,报修厂商之后dell工程师需要手机机器磁盘插槽位置信息,使用的就是sas2ircu工具. 此工具还可以配置RAID信息,但是我这次只需要他的查看信息的功能,下面就开始 ...

  6. Python之路-Linux命令基础(1)

    开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语               使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符,使用命令退出虚拟终端 ...

  7. POPTEST 测试开发 免费培训课程报名

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...

  8. jQ伪类选择器

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. 【Java进阶】——初识数据库连接池

    [简介] 数据库连接池:程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的链接进行申请,使用,释放. 相比之前的程序连接,减少了数据库的打开关闭次数,从而减少了程序响应的 ...

  10. Struts2基础学习(五)—拦截器

    一.概述 1.初识拦截器      Interceptor 拦截器类似前面学过的过滤器,是可以在action执行前后执行的代码,是我们做Web开发经常用到的技术.比如:权限控制.日志等.我们也可以将多 ...