软件工程个人作业01
问题描述:
1.程序设计思想:
首先,我用java语言来完成。1.我要用两个类来完成,一个类包含需要自动生的数据,判断及随机生成数的方法,和输出方法;2.在另一个类中循环30次调用上面的类及方法。3.自动生成的数据,进行运算的数在0-99之间,以及运用随机数代表+,-,*,/;和题目中是否有分数;4,判断/运算的第二个数不为0和分母不为0.
2.源程序代码:
class Zidong{ int x=(int)(Math.random()*100); //产生第一个数或者第一个数的分子 int x1; int y=(int)(Math.random()*100); //产生第二个数或者第二个数的分子 int y1; int z=(int)(Math.random()*4); //随机产生加减乘除的四则运算(0+;1-;2*;3/) int m=(int)(Math.random()*3); //随机第一个数是否为分数;0代表分数,1,2代表整数 int n=(int)(Math.random()*3); //随机第一个数是否为分数;0代表分数,1,2代表整数 public void Panduan(){ //对随机数进行判断,并保证随机题目的正确性 if(m==0) //第一个数是分数 { x1=(int)(Math.random()*100); //若只为真分数,则进行分子分母比较大小、交换 while(x1==0) //保证分母不为0 {x1=(int)(Math.random()*100);} } if(n==0) //第二个数是随机数 { y1=(int)(Math.random()*100); //若只为真分数,则进行分子分母比较大小、交换 while(y1==0) //保证分母不为0 {y1=(int)(Math.random()*100);} } if(z==3) //对于第二个数不是分数的除法运算,保证不为0 { while(y==0) {y=(int)(Math.random()*100);} } } public void Show(){ //输出方式 if(z==0) //+法运算情况输出 if(m==0&&n==0) {System.out.println(x+"/"+x1+" + "+y+"/"+y1+"=");} else if(m==0&&n!=0) {System.out.println(x+"/"+x1+" + "+y+"=");} else if(n==0&&m!=0) {System.out.println(x+" + "+y+"/"+y1+"=");} else {System.out.println(x+" + "+y+"=");} if(z==1) //-法运算情况输出 if(m==0&&n==0) {System.out.println(x+"/"+x1+" - "+y+"/"+y1+"=");} else if(m==0&&n!=0) {System.out.println(x+"/"+x1+" - "+y+"=");} else if(n==0&&m!=0) {System.out.println(x+" - "+y+"/"+y1+"=");} else {System.out.println(x+" - "+y+"=");} if(z==2) //*法运算情况输出 if(m==0&&n==0) {System.out.println("("+x+"/"+x1+") * ("+y+"/"+y1+")=");} else if(m==0&&n!=0) {System.out.println("("+x+"/"+x1+") * "+y+"=");} else if(n==0&&m!=0) {System.out.println(x+" * ("+y+"/"+y1+")=");} else {System.out.println(x+" * "+y+"=");} if(z==3) // /法运算情况输出 if(m==0&&n==0) {System.out.println(x+"/"+x1+" / ("+y+"/"+y1+")=");} else if(m==0&&n!=0) {System.out.println(x+"/"+x1+" / ("+y+")=");} else if(n==0&&m!=0) {System.out.println(x+" / ("+y+"/"+y1+")=");} else {System.out.println(x+" / ("+y+")=");} } } public class Suiji { public static void main(String[] args) { for(int i=0;i<30;i++) { Zidong a=new Zidong(); a.Panduan(); a.Show(); } } }
3.运行结果截图:
4.分析未完成原因:
对于java语言已经有点不熟悉,设计思路还没有完全清楚。其次对于随机数的运用不是很了解。时间有些短暂,因此代码没有写完。