• 四则运算法则在Java中的实现


           软件工程的课程已经上过有一段时间了,前段时间由于比较忙着考试,所以关于四则运算的代码一直没有实现。同时由于近来一段时间一直在自学java,因为C++虽然也是面向对象,而且可以开发很多软件或者程序,但是我觉得java面向对象的程度可以达到95%左右,而C++可能达到80%,因此由于java更加的面向对象,所以本人在近期一段时间学习了一些关于java的知识,由于学习的不深,占时还不能完全面向对象,我想再过段时间,绝对可以做出和网页上出现的一样的面向对象操作。以下是四则运算在java中的运用。具体运行结果如下所示:

    此算法可以进行加减法,乘除法以及混合运算,而且自己可以自主选择算法的类型,另外也可以选择几位数的运算,以及根据自己的需要也可以打印多少道题。具体的代码如下所示:

      1 /**
      2  * 作者:曹家铭
      3  * 日期:2016,3,31
      4  * 功能:自动生成四则运算
      5  */
      6 package com.Caojiaming;
      7 
      8 import java.util.Scanner;
      9 
     10 public class Caculator {
     11 
     12     /**
     13      * @param args
     14      */
     15     public static void main(String[] args) {
     16         // TODO Auto-generated method stub
     17 
     18         System.out.println("0表示结束运算,1代表加减运算,2代表乘除运算,3代表混合运算,请选择:");
     19         Yunsuan bn=new Yunsuan();
     20         Jiajian an=new Jiajian();
     21         Chengchu cn=new Chengchu();
     22         Hunhe dn=new Hunhe();
     23         Scanner in=new Scanner(System.in);
     24         int L=in.nextInt();
     25         
     26         if(L==0)
     27         {
     28             bn.Showme();
     29         }
     30         if(L==1)
     31         {
     32             System.out.println("当M=10时表示两位数的加减运算,M=100时表示三位数的加减运算...请选择");
     33             int M=in.nextInt();
     34             an.setM(M);
     35             System.out.println("请输入需要打印多少道题,10的倍数:");
     36             int N=in.nextInt();
     37             an.setN(N);
     38             an.Showme();
     39         }
     40         if(L==2)
     41         {
     42             System.out.println("当M=10时表示两位数的乘除运算,M=100时表示三位数的乘除运算...请选择");
     43             int M=in.nextInt();
     44             cn.setM(M);
     45             System.out.println("请输入需要打印多少道题,10的倍数:");
     46             int N=in.nextInt();
     47             cn.setN(N);
     48             cn.Showme();
     49         }
     50         if(L==3)
     51         {
     52             System.out.println("当M=10时表示两位数的混合运算,M=100时表示三位数的混合运算...请选择");
     53             int M=in.nextInt();
     54             dn.setM(M);
     55             System.out.println("请输入需要打印多少道题,10的倍数:");
     56             int N=in.nextInt();
     57             dn.setN(N);
     58             dn.Showme();
     59         }
     60         
     61     }
     62 
     63 }
     64 class Yunsuan
     65 {
     66     public int N;
     67     public int getN() {
     68         return N;
     69     }
     70     public void setN(int n) {
     71         N = n;
     72     }
     73     public int M;
     74     public int getM() {
     75         return M;
     76     }
     77     public void setM(int m) {
     78         M = m;
     79     }
     80     //int a,b;
     81     public void Showme()
     82     {
     83         System.out.println("结束运算。");
     84     }
     85 }
     86 class Jiajian extends Yunsuan
     87 {
     88     public char o[]={'+','-'};
     89     public void Showme()
     90     {
     91         for(int i=0;i<N/10;i++)
     92         {
     93             for(int j=0;j<10;j++)
     94             {
     95                 int a=(int)(Math.random()*M)+1;
     96                 int b=(int)(Math.random()*M)+1;
     97                 int c=(int)(Math.random()*2);
     98                 System.out.print(a);
     99                 System.out.print(o[c]);
    100                 System.out.print(b+"=  ");
    101             }
    102             System.out.println();
    103         }
    104     }
    105 }
    106 class Chengchu extends Yunsuan
    107 {
    108     public char p[]={'*','/'};
    109     public void Showme()
    110     {
    111         for(int i=0;i<N/10;i++)
    112         {
    113             for(int j=0;j<10;j++)
    114             {
    115                 int a=(int)(Math.random()*M)+1;
    116                 int b=(int)(Math.random()*M)+1;
    117                 int c=(int)(Math.random()*2);
    118                 System.out.print(a);
    119                 System.out.print(p[c]);
    120                 System.out.print(b+"=  ");
    121             }
    122             System.out.println();
    123         }
    124     }
    125 }
    126 class Hunhe extends Yunsuan
    127 {
    128     public char m[]={'+','-','*','/'};
    129     public void Showme()
    130     {
    131         for(int i=0;i<N/10;i++)
    132         {
    133             for(int j=0;j<10;j++)
    134             {
    135                 int a=(int)(Math.random()*M)+1;
    136                 int b=(int)(Math.random()*M)+1;
    137                 int d=(int)(Math.random()*M)+1;
    138                 int f=(int)(Math.random()*M)+1;
    139                 int c=(int)(Math.random()*4);
    140                 int e=(int)(Math.random()*4);
    141                 int g=(int)(Math.random()*4);
    142                 System.out.print(a);
    143                 System.out.print(m[c]);
    144                 System.out.print(b);
    145                 System.out.print(m[e]);
    146                 System.out.print(d);
    147                 System.out.print(m[g]);
    148                 System.out.print(f+"=  ");
    149             }
    150             System.out.println();
    151         }
    152     }
    153 }
  • 相关阅读:
    javaweb消息中间件——rabbitmq入门
    virtual box 桥接模式(bridge adapter)下无法获取ip(determine ip failed)的解决方法
    Apache Kylin本地启动
    git操作
    Java学习总结
    Java中同步的几种实现方式
    hibernate exception nested transactions not supported 解决方法
    vue 中解决移动端使用 js sdk 在ios 上一直报invalid signature 的问题解决
    cookie 的使用
    vue 专门为了解决修改微信标题而生的项目
  • 原文地址:https://www.cnblogs.com/cjm5683/p/5356333.html
Copyright © 2020-2023  润新知