软件工程课后作业——用JAVA编写的随机产生30道四则运算
package com.java.sizeyunsuan;
public class lianxi {
String f()
{
int i=(int)(Math.random()*10);
int j=(int)(Math.random()*10);
if(i>=j)
{
int temp=i;
i=j;
j=temp;
}
return("("+i+"/"+j+")");
}
public static void main(String[] args)
{
String a,b;
int k;
lianxi lianxi=new lianxi();
for(int n=0;n<30;n++)
{
a=lianxi.f();
b=lianxi.f();
int i=(int)(Math.random()*100);
int j=(int)(Math.random()*100);
switch((int)(Math.random()*4))
{
case 0:
k=(int)(Math.random()*3);
if(k==0)
System.out.println(i+"+"+j+"=");
else if(k==1)
System.out.println(a+"+"+j+"=");
else if(k==2)
System.out.println(b+"+"+a+"=");
break;
case 1:
k=(int)(Math.random()*3);
if(i<j)
{
int temp=i;
i=j;
j=temp;
}
if(k==0)
System.out.println(i+"-"+j+"=");
else if(k==1)
System.out.println(j+"-"+a+"=");
else if(k==2)
System.out.println(b+"-"+a+"=");
break;
case 2:
k=(int)(Math.random()*3);
if(k==0)
System.out.println(i+"*"+j+"=");
else if(k==1)
System.out.println(a+"*"+j+"=");
else if(k==2)
System.out.println(b+"*"+a+"=");
break;
case 3:
while(j==0)
j= (int)(Math.random()*100);
System.out.println(i+"/"+j+"=");
break;
}
}
}
}
1.设计思路:此题目为随机产生30道四则运算,首先要产生随机数,我先写了一个函数用来随机生成一个真分数,然后在主函数中调用这个函数获取它的返回值,然后又利用Random()产生两个二位的随机整数,然后利用Swich分支结构分别实现加减乘除,随机产生0,1,2,3,分别代表加减乘除。
需要注意:(1)考虑到小学生没有学过负数,所以在进行减法时,假如出现被减数大于减数,则将两数交换,再进行减法;
(2)考虑到除数不能为0,假如除数为0,则再产生一个随机数,利用while循环;
(3)在每个运算中又用if-else结构分了多种情况,其中除法情况太多并且复杂,没有一一实现,日后会多加改善。
2.运行结果:

3.上课未完成原因:
(1)根本原因:对c,c++,java等语言不熟练,忘记了随机函数怎么用,甚至连最基本的语法都忘了,说来惭愧!
(2)客观原因:对编程软件使用不熟练,在VS2010中创建C++项目出现了问题,耽误了很长时间!
此程序还有很多不足,希望大家批评指教!
软件工程课后作业——用JAVA编写的随机产生30道四则运算的更多相关文章
- 随机生成30道四则运算-NEW
补充:紧跟上一个随机生成30道四则运算的题目,做了一点补充,可以有真分数之间的运算,于是需要在原来的基础上做一些改进. 首先指出上一个程序中的几个不足:1.每次执行的结果都一样,所以不能每天给孩子出3 ...
- 随机的30道四则运算题(简单的c)
#include <stdio.h>#include <stdlib.h>#include <time.h> int main(void){ int i = 0; ...
- 随机生成30道四则运算题NEW
代码: #include <iostream> #include <time.h> using namespace std; void main() { srand((int) ...
- 软件工程课后作业——四则运算Ⅲ(C++)
一.设计思路 题目:可以答题并判断对错,最后显示做对几道题. 在原有的基础上,又拓展了答题模块. 在结构体中添加了answer属性,把输入的答案与正确答案比较,若相等则计数加一. 二.源代码 (1)四 ...
- Java编写一个随机产生小学生四则运算题30道
//注:这个程序还没有实现的地方为分数的计算方法未能实现,只是简单的两个数运算,没有实现多个数,四则运算中的数没有涉及0. package 课堂测试1; import java.io.File; im ...
- 软件工程随堂作业--随机产生30到四则运算(c语言)
#include "stdio.h" #include "math.h" #include "stdlib.h" #include" ...
- 30道四则运算题目---课堂作业--软件工程c++
问题:设计一程序,给二年级小学生随机产生四则运算题目. 一.设计思考问题: 1.四则运算需要俩个运算数和一个运算符. 2.如何产生随机数? 3.如何实现随机产生四则运算? 4.题目是否符合小学生学习范 ...
- Java——自动生成30道四则运算---18.09.27
package chuti;import java.io.PrintWriter;import java.util.Scanner;import java.io.FileNotFoundExcepti ...
- 00-JAVA语法基础--课后作业
题目:像二柱子那样,花20分钟写一个能自动生成30道小学四则运算题目的“软件”. package 课堂作业1; import java.util.Random; import java.util.Sc ...
随机推荐
- Linkedlist,arrayDeque,HashMap,linkedHashMap
Linkedlist 1.extneds AbstractSequentialList, implements List<E>, Deque<E>, Cloneable, ja ...
- 根据之前的博文,我把给同学做的三子棋小游戏的代码发出来,只是界面很丑很丑,AI算法很笨很笨,过几天我传到网盘上,提供大家下载娱乐
background_image_filename = 'blackground.png' black_mouse_image_filename = 'black.png' white_mouse_i ...
- wpf依赖属性、绑定实现原理、附加属性学习
依赖属性和普通属性相比节省内存的原因:对于普通属性,每个对象有需要存储一个普通属性的值,即便是默认值.而依赖属性的默认值是静态的存储在类中的,所有对象都使用同一默认值,所以对于拥有大量属性的控件来说这 ...
- css的#和.的区别
css的#和.的区别, css的#和.的区别 2009-03-04 14:43fyws 分类:Html/Css | 浏览 1911 次 css的#和.的区别如:#home #h3 { padding ...
- -webkit-filter属性用来干什么
这两天有看到国外网站纷纷介绍-webkit-filter,开始很迷惑,丫是想要学IE吗?今天看了下,和IE的滤镜没一毛关系啊,而且,效果很赞! 这些滤镜效果最初是用于SVG的,W3C引入到CSS中,然 ...
- c#使用NPOI导出Excel及往Excel里追加记录
最近在做一个打印发票的程序,要求保存打印记录,所以用到了NPOI往Excel里导入数据,但是遇到了一些问题没法解决,最后看了别人的Java程序后才明白.下面只是说明几个问题,而不是怎样使用NPOI 问 ...
- 【转】8种Nosql数据库系统对比
导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型nosql数据库的文章.文章由敏捷翻译 – 唐尤华编译.如需转载,请参见文后声明. 虽然SQL数据库是非常有 ...
- Php中正则小结(一)
一.概念 语法模式类似perl.表达式必须用分隔符闭合,比如一个正斜杠(/). 分隔符可以是任意非字母非数字,除反斜杠(\)和空字节之外的非空白ascii字符 如果分隔符 在表达式中使用,需要使用反斜 ...
- slidingmenu
slidingmenu是一个开源组件.提供了左滑菜单和右滑菜单.下面是一个使用例子的工程源码. 在项目中不去管源码仅仅只是使用的话,主要需要实现的有3个类 MainActivity:这 ...
- python 校招信息爬虫程序
发现一个爬虫程序,正在学习中: https://github.com/lizherui/spider_python