zoukankan      html  css  js  c++  java
  • 四则运算×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
  • 相关阅读:
    hadoop02---高可用网站架构
    springboot-vue项目前台2
    Java Serializable(序列化)
    JAVA 正则表达式、汉字正则、 java正则代码
    MyEclipse导入Maven项目
    JAVA学习:maven开发环境快速搭建
    删除
    关于java程序打包为EXE的若干问题
    ServletContext与ServletConfig的详解及区别
    在CSS中定义a:link、a:visited、a:hover、a:active顺序
  • 原文地址:https://www.cnblogs.com/clueless/p/6532746.html
Copyright © 2011-2022 走看看