軟體工程(第二次作業)

來源:互聯網
上載者:User

標籤:

需求分析功能需求:

1、能自動產生小學四則運算題目。

2、程式能接受使用者輸入答案,並判定對錯。

3、給出總共正確的數量。

設計

1、定義s為一組1至4的隨機數,使用which(s)語句,case s 分別為四則運算的加減乘除。在case 語句中定義兩個變數,為a和b,使它們能產生0至100之間的隨機數,用來做四則運算。

2、which語句外層在編寫一個while語句,使得which能迴圈多次,進行多個計算。

3、定義一個h記錄做題正確的數目,初始值為0。

 

代碼實現

代碼:

import java.util.Scanner;


public class ruanjian {


public static int suiji(int num1,int num2){
int C=(int)num1+(int)(Math.random()*(num2-num1));
return C;
}
public static void main(String[] args) {

int S,a,b,i=1,f=0,h=0;
double D;
while(i<=5){
S=suiji(1,4);
i=i+1;
a=suiji(0,100);
b=suiji(0,100);
switch(S){
case 1 :
System.out.println(a+"+"+b+"=");
Scanner reader=new Scanner(System.in);
D=reader.nextInt();
if(D==a+b){
h++;
}
else{
System.out.println("答錯了,正確答案是:"+(a+b));

}
break;
case 2 :
System.out.println(a+"*"+b+"=");
Scanner reader1=new Scanner(System.in);
D=reader1.nextInt();
if(D==a*b){
h++;
}
else{
System.out.println("答錯了,正確答案是:"+(a*b));

}
break;
case 3 :
System.out.println(a+"-"+b+"=");
Scanner reader2=new Scanner(System.in);
D=reader2.nextInt();
if(D==a-b){
h++;
}
else{
System.out.println("答錯了,正確答案是:"+(a-b));

}
break;
case 4 :
System.out.println(a+"/"+b+"=");
Scanner reader3=new Scanner(System.in);
D=reader3.nextInt();
if(D==a/b){
h++;
}
else{
System.out.println("答錯了,正確答案是:"+(a/b));

}
break;
}
continue;
}
System.out.println("您一共答對了"+h+"道題");
}

}

程式效果:

PSP耗時統計

總結

對於程式的編寫思路事先就寫在稿紙上,只花了一個晚上就把最簡單的代碼寫出來了,但是在修改過程中遇到了幾個問題,對於break和continue選擇一度陷入困境,因為My Code在運行多個計算時a和b顯示的是同一個值,我以為是break和continue沒有選擇對,但在向老師諮詢後發現我定義的a與b產生隨機數的步驟寫在了while迴圈之前。除此之外我希望能在之後的設計改進中能同時列出多個題目,使得使用者能同時寫出答案。

 

軟體工程(第二次作業)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.