第三次作業 軟件工程
要求0:
作業地址:
https://edu.cnblogs.com/campus/nenu/2016CS/homework/2266
要求1:
git倉庫地址:https://git.coding.net/YUAN-FANG/f4.git
要求2:
結對同學博客地址:https://www.cnblogs.com/xinghl907/
結對同學姓名學號:邢海玲 2016011907
解題思路:
功能1和功能2: 這兩個功能就要求隨機產生N道四則運算題,用戶輸入一個?加答案與標準答案進行比對並判斷對錯,最後統計有多少四則運算題被正確解答。 此次作業從實現四則運算入手,要考慮加減乘除按通常四則運算規定的計算優先級,除法用整數除法,即僅保留除法運算結果的整數部分。比如
功能的實現:
1.我們運用了三個數組來存放相應的數值以及運算符號:
public static int[] firstNum = new int[100];
public static int[] secondNum = new int[100];
public static String[] mark = new String[]{"+","-","*","/"};
2.下面為簡單代碼實現:
public class SizeYunsuan {
public static int[] firstNum = new int[100];
public static int[] secondNum = new int[100];
public static String[] mark = new String[]{"+","-","*","/"};
public static void main(String[] args){
Random rand = new Random();
Scanner input = new Scanner(System.in);
int number = input.nextInt();
for(int i=0;i<100;i++){
firstNum[i]= rand.nextInt(number);
secondNum[i] = rand.nextInt(number);
}
system.out.println("請輸入產生四則運算的道數:");
number = input.nextInt();
System.out.println("產生四則運算式子:");
for(int j=1;j<=number;j++){
String markYun = mark[rand.nextInt(4)];
int answerInput = 0;
int isFirstNum = firstNum[rand.nextInt(100)];
int isSecondNum = secondNum[rand.nextInt(100)];
switch(markYun){
case "+":
System.out.println(isFirstNum + "+" + isSecondNum + "=" );
answerInput = isFirstNum + isSecondNum;
break;
case "-":
if(isFirstNum > isSecondNum){
System.out.println(isFirstNum + "-" + isSecondNum + "=" );
answerInput = isFirstNum - isSecondNum;
}
else{
System.out.println(isSecondNum + "-" + isFirstNum + "=" );
answerInput = isSecondNum - isFirstNum;
}
break;
case "*":
System.out.println(isFirstNum + "*" + isSecondNum + "=" );
answerInput = isFirstNum * isSecondNum;
break;
case "/":
System.err.println("提示:結果取整數!");
if(isSecondNum != 0){
System.out.println(isFirstNum + "/" + isSecondNum + "=" );
answerInput = isFirstNum / isSecondNum;
}else{
System.out.println(isFirstNum + "/" + secondNum[rand.nextInt(100)]+1 + "=" );
answerInput = isFirstNum / isSecondNum;
}
break;
}
System.out.print("");
int answer = input.nextInt();
while(answer != answerInput){
System.out.print("答案錯誤,請重新輸入:");
answer = input.nextInt();
}
System.out.print("總共\n道題,你答對\n道題!");
}
input.close();
3.代碼運行片段:
照片:
編程體會:
1.基礎薄弱,還需要努力學習
2.對同一個問題(即使很小的問題)從多個角度思考,能有不同的認識
3.結對編程對程序的質量有明顯的提升
第三次作業 軟件工程