20165303 2017-2018-2 《Java程序設計》結對編程練習_四則運算
阿新 • • 發佈:2018-04-23
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()
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
}
}
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
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程序設計》結對編程練習_四則運算