前期介绍:很多同学以为学习一门编程语言,一定要学到很高深的时候才可以做项目,其实不然,很多时候我们不需要学到面向对象的思想,就可以从事一些小项目的开发,来增加自己对开发的热情,比如现在我就可以利用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. 疑问:Spring中构造器、init-method、@PostConstruct、afterPropertiesSet孰先孰后,自动注入发生时间

    问题:今天想写一个通用点的方法,根据传入的参数的类型(clazz对象),判断使用哪个mapper来插入mysql数据库. 下面是我的写法: public interface BizNeeqCommon ...

  2. taobao-pamirs-proxycache开源缓存代理框架实现原理剖析

    写在前面 taobao-pamirs-proxycache 是一款开源缓存代理框架, 它将 缓存代码 与 业务代码 解耦.让开发专注coding业务, 缓存通过xml配置即可实现.本文先从此工具如何使 ...

  3. Linux简介与厂商版本上

    Linux简介与厂商版本   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1. Linux简介 Linux可以有狭义和广义两种 ...

  4. UE32修改TAB键为空格键

  5. mysql中 decimal、numeric数据类型

    例 如:salary DECIMAL(5,2) 在这个例子中,5 (精度(precision)) 代表重要的十进制数字的数目,2 (数据范围(scale)) 代表在小数点后的数字位数.在这种情况下,因 ...

  6. 基于WebForm和Bootstrap的权限框架解决方案 一.PQGRID的使用

    天天打游戏也不是个事,就写一套权限框架吧,我的要求是即漂亮美观大方上档次,又要实用易用接地气. 按理来说应该先设计数据库在来秀的,但是人生就是这么随意,先搭个框子吧, 这一篇的重点是pqgrid的介绍 ...

  7. flowJS源码个人分析

    刚刚在腾讯云技术社区前端专栏中看到一篇腾讯高级前端工程师写的<一个只有99行代码的js流程框架>觉得很屌,感觉是将后台的简单的工作流思维搬到了前端js实现,本人不才在这里拜读解析下源码,而 ...

  8. 串口屏Modbus协议,串口屏的modbus协议资料,串口屏modbus通讯协议开发,串口屏之modbus协议使用技巧

    串口屏Modbus协议,串口屏的modbus协议资料,串口屏modbus通讯协议开发,串口屏之modbus协议使用技巧 本例程中用51单片机作为Modbus从机,从机的设备地址为2,从机有4个寄存器, ...

  9. Hadoop之HDFS原理及文件上传下载源码分析(上)

    HDFS原理 首先说明下,hadoop的各种搭建方式不再介绍,相信各位玩hadoop的同学随便都能搭出来. 楼主的环境: 操作系统:Ubuntu 15.10 hadoop版本:2.7.3 HA:否(随 ...

  10. 本学期微分方程数值解课程总结(matlab代码)

    最简单求解一个微分方程数值解得方法:Euler法 function [x,y]=Euler_method(dufun,span,h,x0,y0) %EuLer格式, %求解方程y'=dufun(x,y ...