第三次作业 软件工程

要求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.结对编程对程序的质量有明显的提升

猜你喜欢

转载自www.cnblogs.com/manc762/p/9934395.html
今日推荐