日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

四则运算(可怜的二柱子)2

發布時間:2024/7/19 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 四则运算(可怜的二柱子)2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

可憐的二柱子同學,老師又對他的自動出題系統提出了新的要求:
1、題目避免重復;2、可定制(數量/打印方式);3、可以控制下列參數:
是否有乘除法;
是否有括號(最多可以支持十個數參與計算);
數值范圍;
加減有無負數;
除法有無余數!

解題思路:

1、定義?SIZE?打印題數

2、定義一個生成數的函數(整數分數隨機)參數為(最大值,最小值,有無負數)

3、定義一個生成符號的函數(加減乘除隨機)參數為(是否有乘除法)

4、定義string二維數組

5、進入for循環來依次生成題目for(int?i=0;i<SIZE;i++)

??5、1輸入相關變量(有無負數、有無余數、有無乘除法、數值范圍)

??5、2生成符號

??5、3生成第二個數

??5、4生成第一個數(若符號為除法,第一個數直接等于第二個數的倍數)

??5、5將本題賦值給test[i][0]

??5、6利用for循環判斷重復,若重復則執行i--。

6、輸出題目

源代碼:

package operation; /** 開始時間11:18* */ import java.util.Scanner; public class Operation {public static int SIZE=30;/** 生成數字的函數* max和min表示最大值和最小值范圍* judge表示有無負數Y-可以有,N不能有。*/public static String Generatingnumber(int max,int min,String judge){//是否為分數0-分數,1-整數int m=(int)(Math.random()*2);String result="";if(m==1){int num =1 ;int zhengfu=0;while(zhengfu==0){num=(int)(Math.random()*(max+min)-min);while(num==0){num=(int)(Math.random()*(max+min)-min);}if(judge.equals("N")&&num>0) zhengfu=1;if(judge.equals("Y")) zhengfu=1;}result=result+num;}if(m==0){int numup1,numdown1;//若為分數則分別生成分子和分母(分母不為零且分子小于分母)int insize=1;//while(insize==1){numup1=(int)(Math.random()*100);numdown1=(int)(Math.random()*100);while(numdown1==0||numup1>numdown1){numdown1=(int)(Math.random()*100);}//分數化為最簡int linshi=2;while(numup1>=linshi){if(numup1%linshi==0&&numdown1%linshi==0){numup1=numup1/linshi;numdown1=numdown1/linshi;}else linshi++; }result=result+"("+numup1+"/"+numdown1+")";}return result;}/** 生成符號的函數* judge2表示有無乘除Y-可以有,N不能有。*/public static String Generatingsymbol(String judge2){String result=new String();int fuhao;if(judge2.equals("Y")){fuhao=(int)(Math.random()*4);if(fuhao==0) result="+";if(fuhao==1) result="-";if(fuhao==2) result="*";if(fuhao==3) result="/";}if(judge2.equals("N")){fuhao=(int)(Math.random()*2);if(fuhao==0) result="+";if(fuhao==1) result="-";}return result;}public static void main(String args[]){String test[][]=new String[SIZE][1];for(int i=0;i<SIZE;i++){test[i][0]="";}int max,min;String judge,judge1,judge2;Scanner sca=new Scanner(System.in);System.out.println("請輸入運算所涉及數的最小值");min=sca.nextInt();System.out.println("請輸入運算所涉及數的最大值");max=sca.nextInt();System.out.println("請輸入是否有乘除法Y-可以有,N-不能有");judge2=sca.next();System.out.println("請輸入運算可否涉及負數Y-可以有,N-不能有");judge=sca.next();System.out.println("請輸入除法可否有余數Y-可以有,N-不能有");judge1=sca.next();for(int i=0;i<SIZE;i++){String fuhao=Generatingsymbol(judge2);String num2=Generatingnumber(max,min,judge);String num1=new String();if(fuhao.equals("/")&&judge1.equals("N")){num2=""+(int)Math.random()*100;int intnum2=Integer.parseInt(num2);num1= ""+((int)(Math.random()*100)*intnum2);} else num1=Generatingnumber( max, min, judge);test[i][0]=num1+fuhao+num2;//去重語句if(i>=1){for(int j=0;j<i;j++){if(test[i][0].equals(test[j][0])) {i--;break;}}}}//輸出for(int p=0;p<SIZE;p++){System.out.println(test[p][0]);}}}

結果截圖:

?

轉載于:https://www.cnblogs.com/hehejeson/articles/5295419.html

總結

以上是生活随笔為你收集整理的四则运算(可怜的二柱子)2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。