// 20163536 ?楊宇航 獎勵原創
上課未完成原因:
? 哎,在上那節課時候,我們正在準備程序設計大賽,因為我們團隊當中只有我的電腦有數據庫,所有我只好將我的電腦貢獻給團隊了,不然在10分鐘內完成應該不成問題,這個程序還是挺簡單的,主要是隨機數的使用;我之前給網上找了一些隨機數使用的方法,并且發飆了一篇博客。這很有幫助。
?
?
程序設計思想:
? ? ? ? ? ? ? ? ? 定義兩個整型的變量a,b;作為進行運算的兩個數,在定義一個double類型的e,作為運算結果;參與運算的兩個數都有了,接下來就是我們的運算符了,因為要隨機生成加減乘除四則運算符,我們不妨在定義一個整型變量c,c是從1到4產生的隨機數,然后再用switch語句,選擇隨機產生的c ,case 1 2 3 4分別對字符型的變量d進行賦值,這個過程產生運算符;整個運算的流程結束了,接下來就是判斷運算的了,因為我們要求最后的結果要在100以內,所以,這里要進行一個if語句的判斷,如果結果e在100之內,就要輸出算式,當然,我們的用戶對象是學生,也要考慮結果是不是大于0。 ? ?(還有就是對程序的優化了,既然我們的用戶對象是二年級的小學生,他們肯定不會計算分數,只能計算整數,在隨機產生出發算式的時候,很有可能會產生分數的結果,那么,怎么才能解決這個問題呢?是不是要在進行一次判斷?對除法算式進行判斷。。。。。這里就卡住了)
? ? ? 源代碼:
? ? ??
package jisuanqi;
public class Jisuanqi {
public static void main(String[] args) {
int a;
int b;
double e=0;
int f=0;
do {
a=(int)(Math.random()*99+1);
b=(int)(Math.random()*99+1);
String d=" ";
int c=(int)(Math.random()*4+1);
switch(c)
{
case 1:{d="+";
e=a+b;break;}
case 2:{d="-";
e=a-b;break;}
case 3:{d="*";
e=a*b;break;}
case 4:{d="/";
e=a/b;break;}
}
if(e<100&&0<e)
{
System.out.println(a+d+b);
f++;
}
else
f=f;
}while(f<6);
}
}
? 運行結果截圖:
??