软件工程课后作业——用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 ...
随机推荐
- ASP.NET-----Repeater数据控件的用法总结(转)
一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3 ...
- HttpClient特性
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且 ...
- 轻松入门React和Webpack
最近在学习React.js,之前都是直接用最原生的方式去写React代码,发现组织起来特别麻烦,之前听人说用Webpack组织React组件得心应手,就花了点时间学习了一下,收获颇丰 <!-- ...
- Android开发教程大全介绍
Android是由谷歌在2007年推出的一个开放系统平台,主要针对移动设备市场,目前版本为Android 4.0.Android基于Linux,开发者可以使用Java或C/C++开发Android应用 ...
- 一款安卓ShowcaseView视图源码效果
该源码是从源码天堂那边转载过来的,大家可以看看一下吧啊,一款安卓ShowcaseView视图源码效果,非常不错的,特别是在做引导时使用. 源码下载地址:http://code.662p.com/vie ...
- 01-实现图片按钮的缩放、动画效果(block的初步应用)
#import "ViewController.h" #define kDelta 60 @interface ViewController () @end @implementa ...
- DBLINK 创建与小结
1.DBLINK 的作用 当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数 ...
- 网页热力图 heatmap js
HBuilder +js 实现网页热力图 废话不多说,上代码 <!DOCTYPE html> <html> <head> <title>111</ ...
- GoldenGate中使用FILTER,COMPUTE 和SQLEXEC命令
本文主要介绍OGG中一些过滤或计算函数的用法,以及sqlexec的基本用法 SQLPREDICATE 在使用OGG初始化时,可以添加此参数到extract中,用于选择符合条件的记录,下面是OGG官方文 ...
- Java 连接MongoDB
1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...