【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一个抽象类,它的子类代 ...
随机推荐
- 译:Missing index DMV的 bug可能会使你失去理智---慎重看待缺失索引DMV中的信息
注: 本文译自https://www.sqlskills.com/blogs/paul/missing-index-dmvs-bug-that-could-cost-your-sanity/ 原文作者 ...
- freemarker导出word文档——WordXML格式解析
前不久,公司一个项目需要实现导出文档的功能,之前是一个同事在做,做了3个星期,终于完成了,但是在项目上线之后却发现导出的文档有问题,此时,这个同事已经离职,我自然成为接班者,要把导出功能实现,但是我看 ...
- IOS开发创建开发证书及发布App应用(一)——流程说明
之前在自己做的博客网站上面发布了这个系列的文章,当时还是不错的,帮助了很多跟我一样的新手朋友,不过由于服务器出现问题,丢失了一年了,现在终于找到了,所以发到博客园给大家共享一下,也是为我自己做个参考 ...
- 浓缩的才是精华:浅析GIF格式图片的存储和压缩
成文迪, 在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦. GIF格式的历史 GIF(Graphics Interchange Format)原义是"图像互换 ...
- 使用swagger实现web api在线接口文档
一.前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址.参数.返回值.备注等等:像我们以前的做法是写在word/excel,通常是按模块划分,例如一个 ...
- Ubuntu16.04安装NVIDIA驱动时的一些坑与解决方案
这几天在新购置的笔记本上部署工作环境,在安装NVIDIA驱动的时候遇到了不少坑,重装了很多次,在Ubuntu论坛以及其他资料源看了很多大牛的分析,最终终于解决了一个又一个问题,过程比较艰辛,所以决定写 ...
- 【Java并发】详解 AbstractQueuedSynchronizer
前言 队列同步器 AbstractQueuedSynchronizer(以下简称 AQS),是用来构建锁或者其他同步组件的基础框架.它使用一个 int 成员变量来表示同步状态,通过 CAS 操作对同步 ...
- 使用Python-iGraph绘制贴吧/微博好友关系图
想通过图形化的方式显示社交网络特定用户的好友关系,上网找了一下这方面的图形库有networkx.graphviz等,找了好久我选择了iGraph这个图形库. igraph在Windows下的安装稍微有 ...
- seajs加载angularjs
angularjs是自动完成模块的控制的,而seajs加载模块是异步的,所以不做修改,直接seajs加载angularjs会出错. 在这里讲下自己的解决方法 一.需要把ng-ap ...
- 过滤器Filter(17/4/8)
1:是JavaWeb三大组件之一: Servlet.Lisener(2个感知监听器不需要配置).Filter 2:过滤器 它会在一组资源(jsp.servlet.css.html等等)的前面执行! 它 ...