• 四则运算×2


    import java.util.Scanner;
    public class computePlus {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            Scanner in=new Scanner(System.in);
            System.out.println("请输入生成题目的个数");
            int work=in.nextInt();
            System.out.println("请输入算式中的数字个数");
            int n=in.nextInt();
            int num[]=new int[n];
            int max,min;
            System.out.println("请输入数值范围");
            min=in.nextInt();
            max=in.nextInt();
            
            System.out.println("是否有乘除法(是:1 否:2)");
            int choice1=in.nextInt();
            if(choice1==1)
            {
                System.out.println("除法是否有余数(是:1 否:2)");
                int choice2=in.nextInt();
                for(int x=0;x<work;x++)
                {
                    num=CreateRandom(n,max,min);
                    int operate1=1+(int)(Math.random()*2);
                    if(operate1==1)
                        multiply(num,n);
                    if(operate1==2)
                    {
                        if(choice2==1)
                        {
                            for(int i=0;i<n-1;i++)
                                ModDivide(num[i],num[i+1]);
                        }
                        if(choice2==2)
                        {
                            for(int i=0;i<n-1;i++)
                                NoModDivide(num[i],num[i+1]);
                        }
                    }
                }        
            }
            if(choice1==2)
            {
                System.out.println("减法有无负数(是:1 否:2)");
                int choice3=in.nextInt();
                for(int x=0;x<work;x++)
                {
                num=CreateRandom(n,max,min);
                int operate2=1+(int)(Math.random()*2);
                if(operate2==1)
                {
                    if(choice3==1)
                        plus(num,n);
                    if(choice3==2)
                        Nplus(num,n,max,min);
                }
                if(operate2==2)
                    decrease(num,n);
                }    
            }
            
            
            
            
            
            
        }
        //加法
        public static void plus(int a[],int n)
        {
            long sum=0;
            for(int m=0;m<n;m++)
            {
                sum=sum+a[m];
            }
            for(int i=0;i<n-1;i++)
                System.out.print(a[i]+"+");
                System.out.print(a[n-1]+"="+sum);
                System.out.println();
        }
        //有负数减法
        public static void decrease(int a[],int n)
        {
            long sum=a[0];
            for(int m=1;m<n;m++)
            {
                sum=sum-a[m];
            }
            for(int i=0;i<n-1;i++)
                System.out.print(a[i]+"-");
                System.out.print(a[n-1]+"="+sum);
                System.out.println();
        }
        //无负数减法
        public static void Nplus(int a[],int n,int max,int min)
        {
            long sum=a[0];
            for(int m=1;m<n;m++)
            {
                sum=sum-a[m];
            }
            if(sum>=0)
            {
                for(int i=0;i<n-1;i++)
                    System.out.print(a[i]+"-");
                    System.out.print(a[n-1]+"="+sum);
                    System.out.println();
            }
            else
            {
                int b[]=CreateRandom(n,min,max);
                Nplus(b,n,max,min);
            }
        
        }
        //
        public static void multiply(int a[],int n)
        {
            long sum=1;
            for(int m=0;m<n;m++)
            {
                sum=sum*a[m];
            }
            for(int i=0;i<n-1;i++)
                System.out.print(a[i]+"*");
                System.out.print(a[n-1]+"="+sum);
                System.out.println();
        }
        //分数除法
        public static void divide(int a[],int n)
        {
            long fz=a[0];
            long fm=1;
            for(int m=1;m<n;m++)
            {
                fm=fm*a[m];
            }
            String result=simplify(fz,fm);
            for(int i=0;i<n-1;i++)
                System.out.print(a[i]+"/");
                System.out.print(a[n-1]+"="+result);
                System.out.println();
        }
        //分数化简
        public static String simplify(long fz,long fm)
        {
            int max=0;
            for(int i=0;i<100;i++)
            {
                
                int n=i+1;
                if(fz%n==0&&fm%n==0)
                    max=n;
            }
            return (String)(fz/max+"/"+fm/max);
        }
        //生成随机数
        public static int[] CreateRandom(int n,int max,int min)
        {
            int[] num=new int[n];
            for(int i=0;i<n;i++)
            {
                num[i]=min+(int)(Math.random()*(max-min));
            }
            return num;
        }
        //余数除法
        public static void ModDivide(int m,int n)
        {
            System.out.println(m+"÷"+n+"="+m/n+"余"+m%n);
        }
        //无余数除法
        public static void NoModDivide(int m,int n)
        {
            System.out.println(m+"÷"+n+"="+m/n);
        }
        
    }

    运行结果截图

    设计思路

    先根据算式数字多少生成随机数,再套用有关运算的方法,最终完成实验。我的程序不能完成括号和多种运算符的混合运算,以后我会继续改进。

    时间记录日志

    日期 开始时间 结束时间 中断时间 净时间 活动 备注 C U
    3.6  14:00 16:00   120分钟 软件工程概论 二柱子计算题第二弹    
    3.7                
    3.8 14:00 17:00 60分钟 120分钟 软件工程概论作业 二柱子计算题构建框架和方法    
    3.9                
    3.10 18:00 19:30   90分钟 软件工程概论作业 程序错误修改    
                     

    周活动总结表

      听课 编写程序 阅读课本 准备考试 总计
    周日          
    周一 50 60 40   150
    周二 50   50   100
    周三 50 70     120
    周四 50   50   100
    周五 50 40 50   140
    周六          
    周总结 250 170 190   610
  • 相关阅读:
    vue-cli之加载ico文件
    arcgisJs之featureLayer中feature的获取
    浏览器兼容设置
    global.css
    sass之mixin的全局引入(vue3.0)
    arcgis之隐藏设置放大缩小按钮
    vue之scoped穿透
    关闭google默认打开翻译提醒
    ...args剩余参数用法
    js之向div contenteditable光标位置添加字符
  • 原文地址:https://www.cnblogs.com/clueless/p/6532746.html
Copyright © 2020-2023  润新知