• 软件工程个人作业04


    1、代码:
    import
    java.util.Random; import java.util.Scanner; class Fenshu{ static int fenzi1; static int fenmu1; static int fenzi2; static int fenmu2; public static void fenshu()//分数随机产生 { Random random=new Random(); fenmu1=(random.nextInt(10)+1); fenzi1=(random.nextInt(10)+1); fenmu2=(random.nextInt(10)+1); fenzi2=(random.nextInt(10)+1); if(fenmu1<=fenzi1||fenmu2<=fenzi2) { fenshu(); } //System.out.println(fenmu1); //System.out.println(fenzi1); //System.out.println(fenmu2); //System.out.println(fenzi2); } public static char fuhao()//符号随机产生 { char a =0; Random random=new Random(); int f=random.nextInt(4); if(f==0) a='+'; if(f==1) a='-';; if(f==2) a='*'; if(f==3) a='/'; return a; } public static int GYS(int m, int n) // 循环实现 { int k,y; if(m<n) { k=m; m=n; n=k; } while(m%n!=0) { y=m%n; m=n; n=y; } return n; } public static void zhenoutput()//真分数输出 { fenshu(); char a1=fuhao(); if(a1=='+') { int jieguo1=fenmu1*fenmu2; int jieguo2=fenzi1*fenmu2+fenzi2*fenmu1; int a=GYS(jieguo1,jieguo2); System.out.println(fenzi1+"/"+fenmu1+"+"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a); } if(a1=='-') { int jieguo1=fenmu1*fenmu2; int jieguo2=fenzi1*fenmu2-fenzi2*fenmu1; int a=GYS(jieguo1,jieguo2); System.out.println(fenzi1+"/"+fenmu1+"-"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a); } if(a1=='*') { int jieguo1=fenmu1*fenmu2; int jieguo2=fenzi1*fenzi2; int a=GYS(jieguo1,jieguo2); System.out.println(fenzi1+"/"+fenmu1+"*"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a); } if(a1=='/') { int jieguo1=fenmu1*fenzi2; int jieguo2=fenzi1*fenmu2; int a=GYS(jieguo1,jieguo2); System.out.println(fenzi1+"/"+fenmu1+"/"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a); } } } public class Size { static int n; static int m; public static void main(String args[]) { Fenshu a=new Fenshu(); boolean p=true; while(p) { Scanner in=new Scanner(System.in); System.out.println("1.整式计算 2.真分数计算"); int ch=in.nextInt(); if(ch==1) { System.out.println("请输入你要取得数值的范围:"); Scanner in1=new Scanner(System.in); n=in1.nextInt(); m=in1.nextInt(); System.out.print("请确认你要计算的题目中是否包括乘除法:1、包括2、不包括"); int c=in.nextInt(); if(c==1) { System.out.println("请输入要计算的题的数量:"); int number=in.nextInt(); int i=0; while(i<number) { output(); i++; } } if(c==2) { System.out.println("请输入要计算的题的数量:"); int number=in.nextInt(); int i=0; while(i<number) { output1(); i++; } } } if(ch==2) { System.out.println("请输入要计算的题的数量:"); int number=in.nextInt(); int i=0; while(i<number) { Fenshu.zhenoutput(); i++; } } } } public static int shuzi()//随机产生数字并且判断数值范围 { Random random=new Random(); int a=(int)(Math.random()*(m-n+1)+n); //System.out.print(a); return a; } public static void fuhao()//符号随机产生 { Random random=new Random(); int f=random.nextInt(4); if(f==0) System.out.print('+'); if(f==1) System.out.print('-'); if(f==2) System.out.print('*'); if(f==3) System.out.print('/'); } public static void output()//整数计算包括乘除法 { //Scanner in1=new Scanner(System.in); int a=shuzi(); int b=shuzi(); Random random=new Random(); int f=random.nextInt(4); if(f==0) { System.out.print(a); System.out.print('+'); System.out.print(b); System.out.println("="+(a+b)); } if(f==1) { System.out.print(a); System.out.print('-'); System.out.print(b); System.out.println("="+(a-b)); if(a-b<0) { System.out.println("此次计算式式子结果为负数。"); } } if(f==2) { System.out.print(a); System.out.print('*'); System.out.print(b); System.out.println("="+(a*b)); } if(f==3) { System.out.print(a); System.out.print('/'); System.out.print(b); int c=a/b; System.out.println("="+c); int yushu=a-c*b; if(yushu!=0) { System.out.println("该式子不能整除,余数为"+yushu); } if(yushu==0) { System.out.println("该式子能整除"); } } } public static void output1()//整数计算不包括乘除 { double a=shuzi(); double b=shuzi(); Random random=new Random(); int f=random.nextInt(2); if(f==0) { System.out.print(a); System.out.print('+'); System.out.print(b); System.out.println("="+(a+b)); } if(f==1) { System.out.print(a); System.out.print('-'); System.out.print(b); System.out.println("="+(a-b)); if(a-b<0) { System.out.println("此次计算式式子结果为负数。"); } } } }

    2、设计思想:完善二柱子2,加老师要求功能。实现大量数据的计算

    3、编程总结分析:

    程序功能不够完善,没有实现查重和加括号。不知从何处做起,对知识掌握不熟,应该多敲代码,积累经验及。

    4、PSPO级日志

    PSP2.1

    Personal Software Process Stages

    Time

    Planning

    计划  

    · Estimate

    · 估计这个任务需要多少时间

    18h

    Development

    开发

     

    · Analysis

    · 需求分析 (包括学习新技术)

    6h

    · Design Spec

    · 生成设计文档

    1h

    · Design Review

    · 设计复审 (和同事审核设计文档)

    1h

    · Coding Standard

    · 代码规范 (为目前的开发制定合适的规范)

    0.5h

    · Design

    · 具体设计

    3h

    · Coding

    · 具体编码

    2h

    · Code Review

    · 代码复审

    0.5

    · Test

    · 测试(自我测试,修改代码,提交修改)

    2h

    Reporting

    报告

     

    · Test Report

    · 测试报告

    0.5h

    · Size Measurement

      · 计算工作量

    0.5h

      · Postmortem & Process Improvement Plan

     · 事后总结, 并提出过程改进计划 1h
      合计 18h

    实际:

    PSP2.1

    Personal Software Process Stages

    Time

    Planning

    计划  

    · Estimate

    · 估计这个任务需要多少时间

    18h

    Development

    开发

     

    · Analysis

    · 需求分析 (包括学习新技术)

    6h

    · Design Spec

    · 生成设计文档

    1h

    · Design Review

    · 设计复审 (和同事审核设计文档)

    1h

    · Coding Standard

    · 代码规范 (为目前的开发制定合适的规范)

    1h

    · Design

    · 具体设计

    4.5h

    · Coding

    · 具体编码

    3h

    · Code Review

    · 代码复审

    0.5

    · Test

    · 测试(自我测试,修改代码,提交修改)

    2h

    Reporting

    报告

     

    · Test Report

    · 测试报告

    0.5h

    · Size Measurement

      · 计算工作量

    0.5h

      · Postmortem & Process Improvement Plan

     · 事后总结, 并提出过程改进计划 1h
      合计 21h

     5、截图:

     程序功能不够完善,但是可以计算出大量题目,并且取值可以任意范围。

    6、个人项目:

    应当多敲代码积累经验,只有敲的代码够了才会有新的解决问题的办法。

    在代码中应注重单元测试,方便查询BUG的出处

    注意代码规范,做左缩进以及必要的注释。

  • 相关阅读:
    在Linux下安装和使用MySQL
    vc动态装载动态库
    stl学习(转帖2)
    makefile
    详细的MySQL C API
    Excel INTO SQLSERVER
    Outlook2010中预览Word,Excel附件问题
    11gRAC ASM管理的数据文件丢失恢复
    ASM上控制文件损坏时的恢复
    使用NET USER增加一个超级管理 & 激活Windows 7 administrator
  • 原文地址:https://www.cnblogs.com/hanbook/p/6591138.html
Copyright © 2020-2023  润新知