要求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道四则运算题,用户输入一个?加答案与标准答案进行比对并判断对错,最后统计有多少四则运算题被正确解答。 此次作业从实现四则运算入手,要考虑加减乘除按通常四则运算规定的计算优先级,除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生,由于基础较弱,很多部分尚未完成。
功能的实现:
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.结对编程对程序的质量有明显的提升