zoukankan      html  css  js  c++  java
  • 软件工程个人作业01

    1.刚开始是用随机函数生成随机数random.nextInt,然后按照老师的要求先输出30个题目,把运算符的随机生成放入到数字中去;然后再依次进行:

    用数组存放题目,为了满足题目不重复的要求进行查找;最后就是真分数的运算,按照一定得规则对输出的运算数据进行约束即可,最后选择输

    出的题目输出结果。

    2.源代码:

    package test;
    import java.util.*;
    public class siZe {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scan = new Scanner(System.in);
    int N;
    int mid;
    System.out.println("请输入题目的总数:");
    N = scan.nextInt();
    String[] timu = new String[N];//用于存储题目
    if(N%2== 0)
    mid = N/2;
    else
    mid = (N-1)/2;
    for(int i = 0;i<mid;i++){
    timu = zhengShu(N);
    System.out.println(i+1 + ".) "+timu[i]);

    }
    for(int i = mid;i<N;i++){
    timu = zhenFenshu(N);
    System.out.println(i+1 + ".) "+timu[i]);
    }


    }

    public static String[] zhengShu(int n){
    String[] timu = new String[n];
    String linshi = "";
    int num1,num2,singal = 0;
    int i = 0;//统计次数
    int j = 0,k=0,l=0;
    Random random = new Random();

    while(i < n){
    num1 = random.nextInt(100);
    num2 = random.nextInt(100);
    singal = random.nextInt(4);

    if(singal == 0)
    j=j+num1+num2;
    linshi = ""+num1 + "+" + num2 + "=" + j;
    if(singal == 1&&num1>num2)
    l=l+num1-num2;
    linshi = ""+num1 + "-" + num2 + "=" + l;
    if(singal == 2)
    linshi = ""+num1 + "*" + num2 + "=" + num1*num2;
    if(singal == 3&&num2!=0&&num1%num2 == 0)
    linshi = ""+num1 + "/" + num2 + "=" + num1/num2;
    if(bChongFu(timu,linshi,i)){
    timu[i] = linshi;
    i++;
    }

    }
    return timu;

    }

    public static String[] zhenFenshu(int n){
    String[] timu = new String[n];
    String linshi = "";
    int num1,num2,singal, x , y = 0; //num1、num2为分子,a、b为分子
    int i = 0;//统计次数
    Random random = new Random();
    while(i < n){
    num1 = random.nextInt(100);
    num2 = random.nextInt(100);
    singal = random.nextInt(4);
    x = random.nextInt(100);
    y = random.nextInt(100);

    if(singal == 0 && y!=0 && num1*y+num2*x<=x*y)
    linshi = ""+num1 + "/" + x +" + "+ num2 + "/" + y + "=" + simpleNumber(num1*y+num2*x,x*y);
    if(singal == 1 && y!=0 && num1*y+num2*x<=x*y)
    linshi = ""+num1 + "/" + x +" - "+ num2 + "/" + y + "=" + simpleNumber(num1*y-num2*x,x*y);
    if(singal == 2 && y!=0 && num1*num2<=x*y)
    linshi = ""+num1 + "/" + x +" * "+ num2 + "/" + y + "=" +simpleNumber (num1*num2,x*y);
    if(singal == 3 && y!=0 && num1*y<=num2*x)
    linshi = ""+num1 + "/" + x + " / "+num2 + "/" + y + "=" + simpleNumber(num1*y,num2*x);
    if(bChongFu(timu,linshi,i)){
    timu[i] = linshi;
    i++;
    }
    }
    return timu;

    }


    public static String simpleNumber(int f1,int f2){
    int maxYs = 1;
    for(int i = f1;i>=1;i--){
    if(f1%i==0 && f2%i==0){
    maxYs = i;
    break;
    }
    }
    f1 = f1 / maxYs;
    f2 = f2 / maxYs;
    if(f1 == 0)
    return "0";
    else
    return +f1+"/"+f2;
    }

    public static boolean bChongFu(String[] timu,String linshi,int n){
    for(int i = 0;i<n;i++){
    if(timu[i].equals(linshi))
    return false;
    }
    return true;

    }

    }

    3.

    4.上课刚开始由于忘了随机函数的生成耽误了一些时间,然后就是没有想到把运算符的随机生成也加入到数字随机生成里,没有考虑完全。

  • 相关阅读:
    我的第一篇博客/markdown
    iOS开发编码建议与编程经验
    iOS 知识点梳理
    Objective-C中类和对象的介绍
    Linux虚拟机部署单机solr报错500解决方法之一
    day02:三元运算、布林非、列表等(20170214)
    day01:判断与循环(20170213)
    前端面试题大全2
    前端面试题大全
    [js] charAt()、charCodeAt()、fromCharCode()
  • 原文地址:https://www.cnblogs.com/ming123/p/6511615.html
Copyright © 2011-2022 走看看