四则运算法则在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 }

 

posted on 2016-04-05 18:52  华尔街的晨曦  阅读(2824)  评论(0编辑  收藏  举报

导航