軟件工程的課程已經上過有一段時間了,前段時間由於比較忙着考試,所以關於四則運算的代碼一直沒有實現。同時由於近來一段時間一直在自學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 }