软件工程的课程已经上过有一段时间了,前段时间由于比较忙着考试,所以关于四则运算的代码一直没有实现。同时由于近来一段时间一直在自学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 }