1. 程式人生 > >20165303 2017-2018-2 《Java程序設計》結對編程練習_四則運算

20165303 2017-2018-2 《Java程序設計》結對編程練習_四則運算

private imp 但是 ann 題目 white boolean valueof ble

  • 需求分析
    能生成簡單四則運算題目並判斷用戶回答對錯。
    能正確統計回答正確的概率。
    能正確處理混合四則運算的優先級的問題。
    能正確輸出負數等結果。
    能處理簡單的加,減,乘,除運算。
    能正確的處理有括號的情況並輸出正確的運算結果,能正確處理輸入異常的情況。
  • 運行截圖
    技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

  • 代碼實現
    import java.util.;
    public class sizeyunsuan {
    public static void main(String[] args) {
    System.out.println("輸入測試題數目:");
    Scanner sc=new Scanner(System.in);
    int number=sc.nextInt();
    double right = 0;
    double wrong = 0;
    for (int i = 0; i < number; i++) {
    System.out.println("第"+(i+1)+"道題,請在下方輸入答案:");
    double op1=(int)(Math.random()

    10);
    double op2=(int)(Math.random()10);
    Random r3 = new Random();
    int m = r3.nextInt(4);
    char[] chs = {‘+‘,‘-‘,‘
    ‘,‘/‘};
    String Operator = String.valueOf(chs[m]);
    //生成題目
    if(Operator.equals("+")){
    System.out.println(op1+"+"+op2+"=");
    boolean b = add(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }
    else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+(op1+op2));
    }
    }
    else if(Operator.equals("-")){
    System.out.println(op1+"-"+op2+"=");
    boolean b =minus(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }
    else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+(op1-op2));
    }
    }
    else if(Operator.equals("")){
    System.out.println(op1+"×"+op2+"=");
    boolean b =times(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }
    else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+(op1
    op2));
    }
    }
    else{
    System.out.println(op1+"÷"+op2+"=");
    boolean b =Div(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+op1/op2);
    }
    }
    }
    System.out.println("做對了"+right+"道題.");
    System.out.println("做錯了"+wrong+"道題.");
    System.out.println("正確率為"+(right/(wrong+right))100+"%");
    }
    private static boolean add(double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result = x + y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    private static boolean minus(double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result = x - y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    private static boolean times (double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result = x
    y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    private static boolean Div(double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result =x/y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    }

  • whitestar運行圖
    技術分享圖片
  • 碼雲鏈接
    https://gitee.com/BESTI-IS-JAVA-2018/20165303WeiYujava/tree/master/src

  • 結對感受
    通過這周的不斷修改代碼,不斷地和小夥伴爭論,終於修改出了基本實現功能的代碼,然後就是實現功能,但是在運行的過程中還是有一些bug,不是太完美,由於時間緊張,本周的實驗比較多,然後實現的比較粗糙,我會在以後的學習過程中繼續實現這個代碼。

20165303 2017-2018-2 《Java程序設計》結對編程練習_四則運算