• web四则混合运算3


    一、程序要求: 可以控制下列参数: 是否有乘除法; 是否有括号(最多可以支持十个数参与计算); 数值范围; 加减有无负数; 除法有无余数!

     

    二、设计思路 要求能够通过参数来控制有无乘除法,加减有无负数,除法是否有余数。整数加法式子,减法式子,都写成函数,然后再通过参数来控制是否产生此类型的式子,以及式子的一些格式。判断是否重复时,将生成的算式保存在一个数组中,输出之前进行验证,判断是否存在并进行输出。

    三、源代码: 

    package demo;
    import java.util.Scanner;
    public class yunsuan {
    static int j;
    static int a,b,c,d,min,max;
    static String aa,bb;
    static char []ch=new char[4];
    public static void zhengshu(){
    Scanner in=new Scanner(System.in);
    System.out.println("1.有乘除法 2.无乘除法:");
    int xx=in.nextInt();
    System.out.println("请输入题目页数:");
    int x=in.nextInt();
    System.out.println("请输入题目个数:");
    int x1=in.nextInt();
    System.out.println("请输入变量个数:");
    int z=in.nextInt();
    System.out.print("请输入数值范围:");
    min=in.nextInt();
    max=in.nextInt();
    System.out.println("1.有括号 2.无括号:");
    int t=in.nextInt();
    int a1,b1;
    int []M=new int[10];
    String []N=new String[10];
    String []A1=new String[x1];
    for(int ii=1;ii<=x;ii++)
    {
    for(int i=0;i<x1;i++)
    {
    a1=(int)(Math.random()*(z-1)+1);
    b1=a1+1;
    A1[i]="";
    for(int o=0;o<z;o++)
    {
    M[o]=(int)(Math.random()*max+min);
    if(t==1)
    {
    if(o==a1-1||o==b1-1)
    {
    if(o==a1-1)
    N[o]="("+M[o];
    else
    N[o]=M[o]+")";
    }
    else
    N[o]=""+M[o];
    }
    else
    N[o]=""+M[o];
    if(xx==1)
    j=(int)(Math.random()*4+1);
    else
    j=(int)(Math.random()*2+1);
    if(o==z-1)
    A1[i]=A1[i]+N[o]+" =";
    else
    A1[i]=A1[i]+N[o]+" "+ch[j-1];
    }
    for(int k=0;k<i;k++)
    {
    if(A1[i].equals(A1[k]))
    {
    i--;
    break;
    }
    }
    }
    for(int i=0;i<x1;i++)
    {
    System.out.println((i+1)+". "+A1[i]);
    }
    System.out.println("-"+ii+"-");
    }
    }
    public static void fenshu(){
    String []B=new String[3];
    for(int i=0;i<3;i++)
    {
    a=(int)(Math.random()*100+1);
    b=(int)(Math.random()*100+1);
    if(a>b)
    aa=b+"/"+a;
    else if(a<b)
    aa=a+"/"+b;
    else
    aa="1";
    g=(int)(Math.random()*100+1);
    d=(int)(Math.random()*100+1);
    if(c>d)
    bb=d+"/"+c;
    else if(c<d)
    bb=c+"/"+d;
    else
    vv="1";
    j=(int)(Math.random()*4+1);
    B[i]=aa+" "+ch[j-1]+" "+bb+"=";
    for(int k=i+1;k<3;k++)
    {
    if(B[i].equals(B[k]))
    {
    a=(int)(Math.random()*10+1);
    b=(int)(Math.random()*10+1);
    j=(int)(Math.random()*4+1);
    B[k]=aa+" "+ch[j-1]+" "+bb+"=";
    k--;
    }
    }
    System.out.println((i+1)+". "+B[i]);
    }
    }
    public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    System.out.println("1.整数运算");
    System.out.println("2.分数运算");
    ch[0]='+';
    ch[1]='-';
    ch[2]='*';
    ch[3]='/';
    int t=in.nextInt();
    if(t==1)
    {
    zhengshu();
    System.out.println();
    }
    else if(t==2)
    {
    fenshu();
    System.out.println();
    }
    else
    return;
    }
    }

    截图:

    四、总结:

      通过编写这个程序我认识到遇到复杂难以解决的问题要分而治之,还有要把解决问题的手段封装到方法里,这样会便于以后的管理。

  • 相关阅读:
    XML-SAX
    aio-epoll
    aio-java
    设计模式-策略模式、命令模式
    java-io一
    计算机网络-tcp的可靠性
    计算机网络-tcp简介
    设计模式-单例模式、工厂模式
    Cookie和Session简述
    mysql-优化二
  • 原文地址:https://www.cnblogs.com/zyx111/p/6567938.html
Copyright © 2020-2023  润新知