这是本学期java课中实验大纲里的第一个实验,这里简单做了一个无用户界面版本。

import java.util.Random;
import java.util.Scanner;public class MathTest {public static void main(String[] args) {// TODO Auto-generated method stubdouble right = 0;double wrong = 0;/*Scanner sc2 = new Scanner(System.in);int num2 = sc2.nextInt();*/for (int i = 0; i < 10; i++) {System.out.println("第"+(i+1)+"道题,请在下方输入答案:");//生成两个随机数Random r1 = new Random();int x = r1.nextInt(10)+1;Random r2 = new Random();int y = r2.nextInt(10)+1;//生成随机运算符    + - * /Random r3 = new Random();int z = r3.nextInt(4);char[] chs = {'+','-','*','/'};String Operator = String.valueOf(chs[z]);//生成题目if(Operator.equals("+")){System.out.println(x+"+"+y+"=");boolean b = add(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}System.out.println("the right answer: "+(x+y));}else if(Operator.equals("-")){System.out.println(x+"-"+y+"=");boolean b =minus(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}System.out.println("the right answer: "+(x-y));}else if(Operator.equals("*")){System.out.println(x+"×"+y+"=");boolean b =times(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}System.out.println("the right answer: "+(x*y));}else{System.out.println(x+"÷"+y+"=");boolean b =divide(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}  System.out.println("the right answer: "+((float)x /(float) y));}System.out.println("-------------------------------");}System.out.println("您一共做对了"+right+"道题.");System.out.println("您一共做错了"+wrong+"道题.");if(wrong > 0){System.out.println("正确率为"+(right/(wrong+right))*100+"%");}else{System.out.println("没法除了啊   。。。。");}}private static boolean add(int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int num1 = sc.nextInt();int result = x + y;if(num1 == result){return true;}else{return false;}}private static boolean minus(int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int num1 = sc.nextInt();int result = x - y;if(num1 == result){return true;}else{return false;}}private static boolean times (int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int num1 = sc.nextInt();int result = x * y;if(num1 == result){return true;}else{return false;}}private static boolean divide(int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);float num1 = sc.nextFloat();float result =(float)x /(float) y;if(num1 == result){return true;}else{return false;}}}

能看到判断对错的方法运用了直接运算符计算结果与函数定义后的运算结果相比较,相等得分,不相等则不得分。

编程中出现的问题:在计算结果为小数的除法时,一开始会出现结果怎么算都不对的情况,他的正确答案也是一个向偶舍入的数值,那肯定是不可取的

解决方法:原因是x和y默认int型,在float除法中要将两者都强制类型转换。【这样他的精度为小数点后7位】

附上最后的一部分结果展示。

转载于:https://www.cnblogs.com/zyn95186/p/5675058.html

小学生四则运算出题程序 无操作界面java版 简单的运用java中一些基本操作相关推荐

  1. c语言小学生四则运算出题程序

    要求:通过计算机随机产生10道四则运算题,两操作数为1~10之间的随机数,运算类型为随机产生的加,减,乘,整除中的任意一种,如果输入答案正确,则显示"Right!",否则显示&qu ...

  2. 个人项目——二柱子的生成小学生四则运算题程序

    二柱子的生成小学生四则运算题程序 一.程序要求 1.自动生成30道小学生四则运算题 2.除了整数外,还要可以生成真分数的四则运算 二.程序设计思想 程序分两个部分:整数部分和分数部分 1.定义变量:第 ...

  3. java四则运算考试系统_小学生四则运算出题软件-基于java控制台的实现

    .题目描述: 1. 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 -o Exercise.txt 将生成10个题目. 2. 使用 -r 参数控制题目中数值(自然数.真分数和 ...

  4. 软件工程导论项目之小学生四则运算出题软件

    要求: 程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间. 每个练习题至少要包含2种运算符.同时,由于小 ...

  5. c语言小学生四则运算出题_C语言随机10以内四则运算

    Q1:c语言 设计小学生四则运算测试程序,要求随机产生10题四则运算题,答完后给出得分 #include#include#includevoid main() { int a[10],b[10],d[ ...

  6. JAVA版服务器皮肤,给Java的Swing应用程序界面换漂亮的皮肤

    1 j2se自己带的LookAndFeel,能在系统上运行的好像只有 metal(金属外观-跨平台但比较丑陋)和与操作系统风格一致的两个LookAndFeel.如果想要使用其他皮肤,可以在网上下载第三 ...

  7. 结对项目-四则运算出题程序(GUI版)

    目录: 一.致搭档(含项目地址) 二.PSP(planning) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模 ...

  8. 程序图形化界面刷新以及如何从tkinter窗口中正确读出数据

    1.问题提出 在做图形化编程时经常遇到界面刷新函数,如python tkinter中的mainloop,java线程new和remove并用等等.但是想要使用图形化界面的数据(输入的文本数据或其他)时 ...

  9. java retro2me_模拟乐园java版下载-模拟乐园java手机版下载-战地2中文网

    模拟乐园java版是一款十分好玩的java平台卡通冒险类游戏,模拟乐园java手机版有着十分有趣的经营玩法,在这里你可以打造你的私人宫殿,同时合理经营来扩大自己的收益,十分适合休闲,感兴趣的玩家不妨试 ...

最新文章

  1. kubectl常用命令_《蹲坑学kubernetes》之十五:kubectl命令详解
  2. TensorRT是NVIDIA开发的深度学习推理工具,只支持推理,不支持训练 引
  3. BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )
  4. grep 显示搜索的关键字相关的行信息
  5. 电缆的选择及载流量的计算,超实用~
  6. c语言不同指令意识,C语言必须理清的概念1
  7. 美国支付巨头Verifone遭遇网络攻击
  8. 在CentOS上安装ZooKeeper集群
  9. mysql数据库开发常见问题及优化
  10. maya如何导出ue4_MAYA动画导出以及导入UE4的方式、方法
  11. 关于用友财务总账的数据库关系
  12. Packet Tracer 思科模拟器入门教程 之九 路由器的基本配置
  13. 软件架构之前后端分离与前端模块化发展史
  14. android 图片缩放工具,批量图片缩放软件下载-批量图片缩放 安卓版v1.3.1-PC6安卓网...
  15. 图像放大的三种处理方法:最近邻插值,双线性插值 ,双三次插值算法
  16. Centos7.2 eclipse使用CGAL求主骨架
  17. Dell PowerEdge R750 Intel DAOS 顺利通过“HighPerf Ready 1.0”测试
  18. 在CSDN中如何上传附件(资源)?
  19. 2020-08-29 ---- 美团点评 笔试
  20. 国际十大炒黄金期货正规平台排名(2023精选榜)

热门文章

  1. “女性机器人”火了,称其只有富人买得起,男性用户表示很满意
  2. 让C/C++程序员告诉你什么叫浪漫,表白黑科技
  3. Django多进程中的查询错乱问题以及mysql gone away问题
  4. Qt写ini配置文件
  5. html旋转三角菜单,css3 这个三角怎么旋转_html/css_WEB-ITnose
  6. python3-正则表达式基本使用方法(附案例)_python正则表达式
  7. sortable 拖拽时互换目标的位置_报表如何实现行列互换效果?
  8. 031_mysql事务的安全隐患
  9. 015_html注释
  10. Pytorch 怎么构建自己的数据集。怎么重写官方数据集。