天天看點

作業三:代碼複審

我此次的代碼複審是複審我們班李瑤的代碼,她的代碼比較簡單,運作後需選擇需要運作的算法(加減乘除)。

1.概要部分

她的代碼符合國小生加減乘除算數需求,并且可以執行真分數的運作。

2.代碼部分

她的代碼采用了JAVA程式設計,是使用MyEclipse編寫的,在将來移植過程中并可能會出現錯誤,需加以調适。

代碼中多次采用了switch語句

switch(s){
        case 1:System.out.println("------|"+a+"+"+b+"=?|-----");result = a+b;res();break;
        case 2:System.out.println("------|"+a+"-"+b+"=?|-----");result = a-b;res();break;
        case 3:System.out.println("------|"+a+"*"+b+"=?|-----");result = a*b;res();break;
        case 4:System.out.println("------|"+a+"/"+b+"=?|-----");{float c=a;float d =b;result=c/d;};res();break;
        default:System.out.println("輸入有誤,請重新開始");main(null);break;
        }
        Scanner select = new Scanner(System.in);
        int se = select.nextInt();
        switch(se){
        case 1:System.out.println("本題的結果:"+result);main(null);break;
        case 2:main(null);break;
        default:System.out.println("輸入有誤,請重新開始");main(null);
        }
        
    }

    
}
      

  

3.缺乏可讀性

代碼缺少相應的注釋,應添加相應的注釋,友善非專業人士解讀。

import java.util.Random;
import java.util.Scanner;


public class text {
    public static void res(){
        System.out.println("1、顯示結果\t2、直接開始下一題");
    }
    
    public static void main(String[] args) {
        System.out.println("*****************請選擇要随機生成的算式*******************");
        System.out.println("\t1、加法\t2、減法\t3、乘法\t4、除法");
        System.out.println("***************************************************");
        Scanner sc = new Scanner(System.in);
        int s = sc.nextInt();
        double result=0;
        Random r = new Random();
        int a = r.nextInt(100);
        int b = r.nextInt(100);
        switch(s){
        case 1:System.out.println("------|"+a+"+"+b+"=?|-----");result = a+b;res();break;
        case 2:System.out.println("------|"+a+"-"+b+"=?|-----");result = a-b;res();break;
        case 3:System.out.println("------|"+a+"*"+b+"=?|-----");result = a*b;res();break;
        case 4:System.out.println("------|"+a+"/"+b+"=?|-----");{float c=a;float d =b;result=c/d;};res();break;
        default:System.out.println("輸入有誤,請重新開始");main(null);break;
        }
        Scanner select = new Scanner(System.in);
        int se = select.nextInt();
        switch(se){
        case 1:System.out.println("本題的結果:"+result);main(null);break;
        case 2:main(null);break;
        default:System.out.println("輸入有誤,請重新開始");main(null);
        }
        
    }

    
}