1. 程式人生 > 其它 >【軟體工程】psp四則運算

【軟體工程】psp四則運算

基本功能:
自動生成10道100以內的2個運算元的四則運算算式(+ - * /),要求運算結果也在100以內

剔除重複算式。 2 + 3 = 和 2 + 3 = 是重複算式 2 + 3 = 和 3 + 2 = 不屬於重複算式-

題目數量可定製

相關引數可控

是否包含乘法和除法
運算元數值範圍可控(如運算元 在100以內 還是1000以內)
運算元是否含負數
生成的運算題儲存到外部檔案result.txt中

package 四則運算;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner; public class SiZeYunSuan { public static void main(String[] args) throws FileNotFoundException { PrintStream ps = new PrintStream("C:/Users/litchi/Desktop/result.txt"); int c; Scanner t=new Scanner(System.in); System.out.print(
"請輸入題目個數:"); int tg=t.nextInt(); //控制題目個數 System.out.print("請輸入運算元的範圍(如 100,1000等):"); int tf=t.nextInt(); //控制題目範圍 System.out.println("請選擇是否有負數:1:有 0:沒有"); int zf=t.nextInt(); //控制正負數 System.out.println(
"請選擇是否包含*或者/:2:否 4:是 "); int fu=t.nextInt(); //控制符號 System.setOut(ps); //新增列印學號 //for(int j=0;j<2;j++) { //System.out.println(2019000+j); for(int i=0;i<tg;i++) {//迴圈控制題目個數 //第一個運算元的選擇 int a=(int)(Math.random()*tf+1); if(zf==1) {//有負數 int p=(int) (Math.random()*2); switch(p) { case 0:a=a*(-1);//取負數 System.out.print(a);break; case 1: System.out.print(a);break; } } if(zf==0) {//沒有負數 System.out.print(a); } if(fu==2) {//選擇兩個字元‘+’‘-’ int k=(int)(Math.random()*2); switch(k) {//隨機選擇運算子 case 0:System.out.print("+"); break; case 1:System.out.print("-"); break; } int b=(int)(Math.random()*tf+1); if(zf==1) {//有負數 int p=(int) (Math.random()*2); switch(p) { case 0:b=b*(-1);//取負數 System.out.print(b);break; case 1: System.out.print(b);break; } } if(zf==0) {//沒有負數 System.out.print(b); } System.out.println("="); /* //運算結果 if(k==0) {c=a+b;System.out.println(c);} if(k==1){c=a-b; System.out.println(c);} */ } if(fu==4) {//四個字元的‘+’‘-’‘*’‘/’ int k=(int)(Math.random()*4+1); switch(k) {//隨機選擇運算子 case 1:System.out.print("+");break; case 2:System.out.print("-");break; case 3:System.out.print("*");break; case 4:System.out.print("/");break; } //第二個運算元的選擇 int b=(int) (Math.random()*tf+1); if(zf==1) {//有負數 int p=(int) (Math.random()*2); switch(p) { case 0:b=b*(-1);//取負數 System.out.print(b);break; case 1: System.out.print(b);break; } } if(zf==0) {//沒有負數 System.out.print(b); } //等號 System.out.println("="); /* //運算結果 if(k==1) { c=a+b;System.out.println(c); } if(k==2) { c=a-b;System.out.println(c); } if(k==3) { c=a*b;System.out.println(c); } if(k==4) { c=a/b;System.out.println(c); }*/ } } //學號那個迴圈的截止} } }