• 作业


    课后作业:四则运算

    package songgeierzhuerzi;
    import java.util.Scanner;
    class sizeyunsuan
    {
    public static void main(String []args)
    {
    Scanner scan=new Scanner(System.in);
    System.out.println("请输入想要输出的题目数目:");
    int w1=scan.nextInt();
    System.out.println("请输入每行想要输出的题目数目:");
    int w2=scan.nextInt();
    int a1,a2;
    int b1,b2,b3;
    int w3[]=new int[100];
    int w4[]=new int[100];
    int w5[]=new int[100];
    int w6[]=new int[100];
    int w7[]=new int[100];
    int w8[]=new int[100];
    int w9[]=new int[100];
    int w10[]=new int[100];
    char wen[]= {'+','-','*','/'};
    nn:for(a1=1;a1<=w1;)
    {
    for(a2=1;a2<=w2;)
    {
    b1=(int)(Math.random()*100);
    b2=(int)(Math.random()*100);
    b3=(int)(Math.random()*4);
    if(b3==0)
    {
    if(w3[b1]==1)
    {
    if(w4[b2]==1)
    {
    continue;
    }
    }
    else
    {
    w3[b1]=1;
    w4[b2]=1;
    }
    }
    if(b3==1)
    {
    if(b1>=b2)
    {
    if(w5[b1]==1)
    {
    if(w6[b2]==1)
    {
    continue;
    }
    }
    else
    {
    w5[b1]=1;
    w6[b2]=1;
    }
    }
    else
    continue;
    }
    if(b3==2)
    {
    if((b1*b2)/100==0)
    {
    if(w7[b1]==1)
    {
    if(w8[b2]==1)
    {
    continue;
    }
    }
    else
    {
    w7[b1]=1;
    w8[b2]=1;
    }
    }
    else
    continue;
    }
    if(b3==3)
    {
    if(b2!=0&&b1%b2!=0)
    {
    continue;
    }
    if(b2==0)
    {
    continue;
    }
    if(w9[b1]==1)
    {
    if(w10[b2]==1)
    {
    continue;
    }
    }
    else
    {
    w9[b1]=1;
    w10[b2]=1;
    }
    }
    if(true)
    {
    if(a2!=w2)
    System.out.print(a1+": "+b1+wen[b3]+b2+"= ");
    else
    System.out.println(a1+": "+b1+wen[b3]+b2+"= ");
    }
    if(a1==w1)
    break nn;
    ++a1;
    ++a2;
    }
    }
    }
    }

    思路:该代码中,由于生成的随机数为0~99的数,共100个,4种运算法则,所以建立8个容量为100的一位数组,每两组对应算法前后的两个数,对每个数进行查重,每出现一个数,在数组的对应位置输入数字1,若两个数同时为1则continue跳出循环产生新的随机数。这样能保证相同算法的情况下不产生相同的运算。最后的++a1和++b1放在第二个for循环内,这样在满足每行个数的同时还能保证题前的序号不因为continue而跳过去。

    这个程序来自于大佬同学,我自己并没有形成一个成熟的思路,在请教,分析,问了他的思路之后我又重新整理了一下思路,发现主要原因除了编的少想得少之外,还是因为对数组的运用不够熟练,今后要加以练习。

  • 相关阅读:
    验证用户名,要求 1、不能为空 2、不能小于6位数大于20位数 3、首字母不能大写
    用js实现表格的增删改
    博客园开通同城园友功能如何?
    .NET 工具集合
    2010年终总结报告
    在JavaScript中实现命名空间。
    在 JavaScript 实现多播事件、属性设置/读取器
    听过 PHPRPC 吗?试试我的 Hign!
    用 WCF 实现多层服务架构平台——客户层演示
    用 WCF 实现多层服务架构平台——业务适配器。
  • 原文地址:https://www.cnblogs.com/zhangxinyue/p/11553229.html
Copyright © 2020-2023  润新知