前期介绍:很多同学以为学习一门编程语言,一定要学到很高深的时候才可以做项目,其实不然,很多时候我们不需要学到面向对象的思想,就可以从事一些小项目的开发,来增加自己对开发的热情,比如现在我就可以利用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. 译:Missing index DMV的 bug可能会使你失去理智---慎重看待缺失索引DMV中的信息

    注: 本文译自https://www.sqlskills.com/blogs/paul/missing-index-dmvs-bug-that-could-cost-your-sanity/ 原文作者 ...

  2. freemarker导出word文档——WordXML格式解析

    前不久,公司一个项目需要实现导出文档的功能,之前是一个同事在做,做了3个星期,终于完成了,但是在项目上线之后却发现导出的文档有问题,此时,这个同事已经离职,我自然成为接班者,要把导出功能实现,但是我看 ...

  3. IOS开发创建开发证书及发布App应用(一)——流程说明

    之前在自己做的博客网站上面发布了这个系列的文章,当时还是不错的,帮助了很多跟我一样的新手朋友,不过由于服务器出现问题,丢失了一年了,现在终于找到了,所以发到博客园给大家共享一下,也是为我自己做个参考 ...

  4. 浓缩的才是精华:浅析GIF格式图片的存储和压缩

    成文迪, 在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦. GIF格式的历史 GIF(Graphics Interchange Format)原义是"图像互换 ...

  5. 使用swagger实现web api在线接口文档

    一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...

  6. Ubuntu16.04安装NVIDIA驱动时的一些坑与解决方案

    这几天在新购置的笔记本上部署工作环境,在安装NVIDIA驱动的时候遇到了不少坑,重装了很多次,在Ubuntu论坛以及其他资料源看了很多大牛的分析,最终终于解决了一个又一个问题,过程比较艰辛,所以决定写 ...

  7. 【Java并发】详解 AbstractQueuedSynchronizer

    前言 队列同步器 AbstractQueuedSynchronizer(以下简称 AQS),是用来构建锁或者其他同步组件的基础框架.它使用一个 int 成员变量来表示同步状态,通过 CAS 操作对同步 ...

  8. 使用Python-iGraph绘制贴吧/微博好友关系图

    想通过图形化的方式显示社交网络特定用户的好友关系,上网找了一下这方面的图形库有networkx.graphviz等,找了好久我选择了iGraph这个图形库. igraph在Windows下的安装稍微有 ...

  9. seajs加载angularjs

    angularjs是自动完成模块的控制的,而seajs加载模块是异步的,所以不做修改,直接seajs加载angularjs会出错.            在这里讲下自己的解决方法 一.需要把ng-ap ...

  10. 过滤器Filter(17/4/8)

    1:是JavaWeb三大组件之一: Servlet.Lisener(2个感知监听器不需要配置).Filter 2:过滤器 它会在一组资源(jsp.servlet.css.html等等)的前面执行! 它 ...