• 四则运算法则在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 }
  • 相关阅读:
    棋盘型动态规划 之 CODE[VS] 1220 数字三角形
    棋盘型动态规划 之 CODE[VS] 1219 骑士游历 1997年
    棋盘型动态规划 之 CODE[VS] 1169 传纸条 2008年NOIP全国联赛提高组
    棋盘型动态规划 之 CODE[VS] 1010 过河卒 2002年NOIP全国联赛普及组
    [实验]自举?只不过是电容和二极管捣的乱
    [嵌入式]I2C协议指东
    [语法]C语言中二维数组做输入参数
    深入类方法。
    今天周六祝大家休息开心,我还在奋斗....
    我们一起来一把.....现在学习真的好累,一天下来脑袋要炸
  • 原文地址:https://www.cnblogs.com/cjm5683/p/5356333.html
Copyright © 2020-2023  润新知