四则运算功能细化

设计思想:

当编程时感觉做法完全不像当初设计思路里设计的一样,因为设计思路里没有面对这个程序,没有面对这么具体的问题.

不重复的实现,建三个数组,并每次生成随机数后判断a[i]、b[i]、c[i]与上边已有的a[i]、b[i]、c[i]是否相同,若相同重新生成a[i]、b[i]、c[i]。

for(j=0;j<z;j++)

{

if(q==a[j]&&w==b[j]&&e==c[j])       ////判断是否相同

{a[i]=random.nextInt(100);      ////重新产生a[i]

b[i]=random.nextInt(100);       ////重新产生b[i]

c[i]=random.nextInt()%4+1;} ////重新产生c[i]

}

可定制的实现,输入一个n,比如n=4,当(i+1)%4==0时,输出一个换行,这样就实现了每行有4个算式。

是否有乘除法的实现,若有乘除法,c取1234,若无乘除c取12.

c取1234时:

if      (c[i]==1) s=‘+‘;

else if (c[i]==2) s=‘-‘;

else if (c[i]==3) s=‘*‘;

else s=‘/‘;

c取12时:

if      (c[i]==1) s=‘+‘;

else s=‘-‘;

实现代码:

package 四则运算;

import java.util.Random;

import java.util.Scanner;

public class aa {

public static void main(String[] args) {

// TODO Auto-generated method stub

int i,n,j,m,aa,r = 0;

Scanner scanner = new Scanner(System.in);

System.out.print("要输出多少道四则运算题,然后敲回车");

aa= scanner.nextInt();

i=aa;

System.out.print("请输入n(每行显示n个式子),然后敲回车");

n= scanner.nextInt();

System.out.print("是否有乘除法(有 1    无 0),然后敲回车");

m= scanner.nextInt();

if(m==1)

{

System.out.print("除法有无余数(有 1    无 0),然后敲回车");

r= scanner.nextInt();

}

scanner.close();

int a[],b[],c[];

a=new int[i];b=new int[i];c=new int[i];

for(i=0;i<aa;i++)

{

int z,q,w,e;z=i;

char s;

Random random = new Random();

a[i]=random.nextInt(100);

b[i]=random.nextInt(100);

if(m==1)

{

if(r==1)//有余数

{

c[i]=random.nextInt()%4+1;

q=a[i];w=b[i];e=c[i];

for(j=0;j<z;j++)

{

if(q==a[j]&&w==b[j]&&e==c[j])

{a[i]=random.nextInt(100);

b[i]=random.nextInt(100);

c[i]=random.nextInt()%4+1;}

}

if               (c[i]==1) s=‘+‘;

else if (c[i]==2) s=‘-‘;

else if (c[i]==3) s=‘*‘;

else s=‘/‘;

}

else //无余数

{

a[i]=random.nextInt(100);

b[i]=random.nextInt(100);

c[i]=random.nextInt()%4+1;

q=a[i];w=b[i];e=c[i];

for(j=0;j<z;j++)

{

if(q==a[j]&&w==b[j]&&e==c[j])

{a[i]=random.nextInt(100);

b[i]=random.nextInt(100);

c[i]=random.nextInt()%4+1;}

}

if               (c[i]==1) s=‘+‘;

else if (c[i]==2) s=‘-‘;

else if (c[i]==3) s=‘*‘;

else {s=‘/‘;a[i]=a[i]/b[i]*b[i];}

}

}

else

{

c[i]=random.nextInt()%2+1;

q=a[i];w=b[i];e=c[i];

for(j=0;j<z;j++)

{

if(q==a[j]&&w==b[j]&&e==c[j])

{a[i]=random.nextInt(100);

b[i]=random.nextInt(100);

c[i]=random.nextInt()%2+1;}

}

if               (c[i]==1) s=‘+‘;

else s=‘-‘;

}

System.out.print(a[i]);

System.out.print(s);

System.out.print(b[i]);

System.out.print("=     ");

if((i+1)%n==0)

System.out.println("");

}

}

}

结果截图:

心得总结:java技术需要提高,简单的东西也会出错,而且吧,鼓捣半天都改不对,很是气愤

时间记录日志


学生:


周盼超


 


日期:


3/19/2015


 


教师:


王建民


 


课程:


PSP


 

         

日期


开始时间


结束时间


净时


活动


备注


3月13日


10点10分


12点


100分钟


讲师授课


 


3月15日


9点


9点20分


20分钟


编写程序


 


3月17日


12点


13点30分


90分钟


编写程序


 


3月18日


21点30分


22点


30分钟


制作时间记录日志模板


 

时间: 2024-08-30 09:04:49

四则运算功能细化的相关文章

四则运算功能

1 .四则运算:加减乘除 2 .答题时间:统计用户答题的时间 3. 出题的个数:答题结束可以显示用户答错的题目个数和答对的题目个数 4 .整数阶乘:程序可以出单个整数阶乘的题目:如:4!=24 5 .答题时间: 时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题 6. 图形用户界面 :可以改变背景颜色,弹出对话框,选择按钮 …… 7 .统计分数 :可以统计每个同学的总分.平均分以及做题时间,以便进行同学和班级之间的对比 8.题目程度 :可以设置题目

构建NetCore应用框架之实战篇(四):BitAdminCore框架1.0登录功能细化及技术选型

本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性. 构建NetCore应用框架之实战篇系列 一.BitAdminCore框架1.0版本 1.1.0版本是指最小版本,它具备框架所有的必要功能,功能前篇已经介绍. 2.与文章相匹配,我会在GitHub上建立一个项目,以分支的形式保存每篇文章所处阶段的源码.进入GitHub 二.登录功能 1.策划我们需要的功能,按照软件的基本原则是很能用,再扩展. 2.登录功能最基本的是账号.密码.验证码登录. 3.登录后进入首页

第二周-四则运算更新

四则运算功能更新: HTTPS:https://git.coding.net/li_yuhuan/CalculateTest.git SSH:[email protected]:li_yuhuan/CalculateTest.git 代码: static void Main(string[] args) { int length = args.Length; if (0 == length) { for (int i = 0; i < 20; i++) { ShowTest(false); }

结对项目——高级四则运算检验器记录(168 &amp; 187)

首先,上图(*+﹏+*)[email protected] 1.如何看待结对编程 结对编程优点: 1.两个人能够相互支持,相互监督,客服编程过程中可能出现的烦躁的情况0_0. 2.在开发功能的同时,伴随了UnitTest的进行,可以提高代码的正确性和稳定性. 3.不想坑队友,工作时会比较认真b( ̄▽ ̄)d. 4.两个人写的模块会相互调用,开发过程中会不断的对同伴的代码进行复审,提高了程序运行的正确性和稳定性. 5.分工合作,每人负责自己的部分,效率高. 结对编程缺点: 1.分工容易出现失衡,能者

“四则运算解剖” 报告

看着解剖报告的资料,结合我们自身的实际.我们趁热打铁写出了属于我们自己团队的“四则运算解剖” 报告. 到目前为止,我们的实际存在用户并没有想象中的那么多.当时设想的是有100个用户,可是就目前为止我们只有仅仅10个用户,只是到达了设想中的10%,这是一个不太理想的状态.及早发现及早处理,所以我们也在花时间反思到底是哪里不行,哪里有问题.我们参考着资料,写出了属于我们的自己的报告. 具体报告内容如下:     设想和目标 1.做这个软件的最初目的就是解决小学生的算术能力问题.由这一点出发,我们开始

四则运算(28日)

今天是冲刺的最后几天了,我们已经完成了界面的设计以及四则运算的基本功能,但在编程的过程中还遇到了一些问题,我们还在努力尝试调试中.在这个软件中,用户可以计算基本的四则运算,由用户输入算式进行计算,我们先提交一个简单的版本,在以后我们还在继续完善. Not CHECKED OUT CHECKED OUT DONE!: SPRINT GOAL: BETA-READY RELEASE 四则运算的界面设计 安装ADT,在Java环境下设计 四则运算的基本功能 对按钮事件的处理  四则运算的错误处理  由

ASP .net(照片列表详细功能演示)

大家好,今天我们需要讲解的内容就是把上篇文章当中提到的照片列表的很多功能细化去做. 那么之间我们两篇文章的目的就是要让大家深刻体会get,post的使用场景极其作用.像一般处理程序的使用,隐藏域的使用,请求上下文,至于用JQuery,AJAX等的介绍在后面会有,前面两篇文章不做重点讲解. 首先在我们上次写的代码的基础之上实现光棒效果,直接写到模板页里面就行了.用JavaScript写的话代码太多了,所以我们用JQuery来写. 一.需要注意的地方 二.隔行变色效果 三.比上次好看了吧? 四.光棒

javamail模拟邮箱功能--邮件回复-中级实战篇【邮件回复方法】(javamail API电子邮件实例)

引言: JavaMai下载地址l jar包:http://java.sun.com/products/javamail/downloads/index.html 此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇  -->javamail模拟邮箱功能获取邮件内容-中级实战篇[内容|附件下载方法](javamail API电子邮件实例) 在上一篇中,讲解了邮件获取内容的两个方法(HTML和附件),简单介绍了邮件发送和内容获取的相同和不同之处,并且引入了新类-->javax.mail.St

第一次作业——四则运算

需求分析   1.控制运算表达式题目数量,控制题目中数值的大小  2.题目中存在分数形式要进行约分 3.运算符个数不能超过3个 4.不能出现重复题目,即两个运算表达式的计算步骤不能完全相同 5.程序同时支持计算生成的每道题目,并对结果进行约分  6.对用户所做答案进行判断,并且输出正确答案或错误答案 功能设计   基本功能    1.根据控制台输入的数字随机生成指定运算元个数和算式数目的运算符       2.基本的四则运算功能      3.式子中的分数和最终计算结果均约分到最简 设计实现 环