두 번째 단계 페어 프로그래밍

첫째, 테스트 대상
  1) 경험과 그들이 애자일 개발에서 작동합니다.

  2) 개인 프로그래밍 기술과 관행은 더 향상시킬 수 있습니다.

둘째, 콘텐츠 실험
  연습) 문제 운동 쌍 프로그래밍 (쌍 프로그램에 대한 다음의 설명에있어서, 1);

  2) 쌍 작업, 무료 조합 학생을 필요로한다. 각 그룹은 컴퓨터, 완전한 실험적인 요구 사항을 인코딩하는 일반적인 두 가지를 사용합니다.

  3) (4) 적어도 두 스위칭 역할 프로그래밍 동안 쌍을 필요로;

  4) 프로그래밍 언어는 버전에 한정되지 않고, 한정되는 것은 아니다. 파이썬이나 JAVA 프로그래밍을 사용하는 것이 좋습니다.

셋째, 실험 과정

코드 사양 :

너무 열심히 영어, 가능한 한 알파벳 1. 통합 변수 이름.

공백, 탭 키를 해보려고합니다.

쓰기 노트 3. 각 부분의 요구는, 포장하지 않으려 고.

4. 명확 간결 코드는 긴 절차를 방지 할 수 있습니다.

 

순서도 :

 

 

 

 

 

 

 

 

협력 : 프로세스를 완료하기 위해 팀 동료들에게 관련 프로그램 플러스 작업의 일부, 토론 후, 점수를 기록 할 때 고려하여 초등학교의 점수는, 그래서, 나는 주로를 통해 같은 주제의 서면 부분과 결과 등의 문서를 생성하는 책임이 QQ는 통신합니다.

창고는 나는 그가 쓰는 것을 잊었 때문에이 방법을 쓴, 그래서 우리는 마침내 실현 업로드 그의 동료, README.md의 파일입니다.

코드 :

패키지 테스트;

java.util의를 가져옵니다. *;
수입 java.io.BufferedReader의;
수입 java.io.BufferedWriter;
수입 java.io.File에;
수입 java.io.FileOutputStream의;
수입 java.io.FileReader;
수입 java.io.FileWriter;
수입 때 java.io.IOException;
수입 java.io.OutputStreamWriter;
가져 오기를 java.io.PrintWriter;
수입 java.io.RandomAccessFile의;
공용 클래스 테스트 {
개인 정적 랜덤 랜덤 새로운 랜덤 () =;
INT 정적 공용 영역;
공공 정적 스트링 yuefen (a INT, INT의 b) //分数约分,用在计算结果中
{
INT에서 Y = 1;
위한 (INT 난 =; I> = 1, 난 -)
{
경우 (a % I == 0 && B %의 I == 0)
{
Y = 1;
단절;
}
}
INT의 Z = A / Y //分子
INT m = B / Y //分母
경우 (Z == 0) {
창 "0";
}
경우 (m == 1) 리턴 Z + "";
다른
리턴 biaodashi (Z, m);
}

공공 정적 스트링은 biaodashi (INT의 B를를 INT) //判断并将假分数化为带分数
{
경우 (a> = b)
{
INT C;
C = A / B;
INT D;
D = A %의 B;
{
경우 (d == 0)
{
복귀 C + "";
}
리턴 + C '' '+ D + "/"+ B;
}
}
A +를 반환 "/"+ B;
}

공공 정적 무효 메인 (문자열 [] 인수) // 주요 기능 부
{
스캐너 스캐너 새로운 새 SC =합니다 (System.in)
에서 System.out.println ( "프로그램에 오신 것을 환영합니다")
에서 System.out.println ( "본 이 프로그램은 무작위로 네 가지 기본 산술 표현식 ") ;! 생성
;에서 System.out.println이 ("아무 키나 눌러) "제목을 생성하는
스캐너의 INPUT = 새로운 새로운 스캐너 (System.in);
문자열 STR = input.next ();
범위를 = 100;
INT NUM = 10;
INT rightcount []를 새로운 새로운 지능 = NUM + 2]
INT wrongcount []를 새로운 새 INT [NUM + 2] =;
INT gradecount [] 새로운 새로운 지능 = NUM + 2]
INT RIGHT1 = 0;
INT wrong1 = 0;
INT grade1 = 0;
문자열 [] 결과 = 새로운 새 [NUM] 문자열; INT I]
(I = 0; I <NUM; I ++)에 대해
{
문자열 expArr []를 새로운 새 문자열 = [2]; // 생성 된 태스크 정의
A = INT (INT) (random.nextInt (범위)); // 분자
B = INT (INT) (random.nextInt (범위)); // 분모
INT의 C = (INT) (random.nextInt (범위)); // 다른 분자
의 INT D = (INT) (random.nextInt (범위 )); // 다른 분모
INT yunsuanfu // 연산자
yunsuanfu = (INT) (random.nextInt (4)).
!! 생성 (b = 0 && D = 0 인 경우 ) // 분모가 0으로 아니다 계산 문제의 점수 계산 결과 동안
{
IF (yunsuanfu == 0)
{
INT FENZI = A * D + B * C;
INT = B * D는 fenmu;
expArr [0] = biaodashi (A, B) + '+' biaodashi + (C, D) + '=']
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (yunsuanfu == 1 && A * C * DB> = 0)
{
INT FENZI = A * C * DB;
INT fenmu = B * D;
expArr [0] = biaodashi (a, b) + '-'+ biaodashi (c, d) + '=';
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (yunsuanfu == 1 && A * C * dB <0)
{
INT FENZI = B * CA * D;
INT fenmu = B * D;
expArr [0] = biaodashi (a, b) + '-'+ biaodashi (c, d) + '=';
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
IF (yunsuanfu == 2)
{
INT FENZI = A * C;
INT = B * D fenmu;
expArr [0] = biaodashi (A, B) + '×'+ biaodashi (C, D) + '=';
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (3 yunsuanfu == 0 && C =!)
{
INT FENZI = A * D;
INT fenmu = B * C;
expArr [0] = biaodashi (a, b) + '÷'+ biaodashi (c, d) + '=';
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
(yunsuanfu == 3 && C == 0) 경우에
{
체류;
/ * C = 1;
INT FENZI = A * D;
INT fenmu = B * C;
expArr [0] = biaodashi (a, b) + '÷'+ biaodashi (c, d) + '=';
에서 System.out.println (expArr [0]);
결과 [I] = reductionofFraction (FENZI, fenmu); * /

}

}
다른 // 분모의 계산 결과 중에 발생되는 0 적어도 하나에만 Zhengshi 연산 식을 포함
{
. D = 1; B의 = 1.
IF (yunsuanfu == 0)
{
FENZI = A * D + B * C INT,
INT B = D * fenmu;
expArr [0] = A + "+"C + + "="]
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (yunsuanfu == 1 && A * C * DB> = 0)
{
INT FENZI = A * C * DB;
INT fenmu = B * D;
expArr [0] = A + "-"+ C + "=";
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (yunsuanfu == 1 && A * C * dB <0)
{
INT FENZI = B * CA * D;
INT fenmu = B * D;
expArr [0] = C + "-"+ A + "=";
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (yunsuanfu == 2)
{
INT FENZI = A * C 단계;
INT fenmu = B * D;
expArr [0] = C + "×"+ A + "=";
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
경우 (3 yunsuanfu == 0 && C =!)
{
INT FENZI = A * D;
INT fenmu = B * C;
expArr [0] = A + "÷"+ C + "=";
에서 System.out.println (expArr [0]);
결과 [I] = yuefen (FENZI, fenmu);

}
(yunsuanfu == 3 && C == 0) 경우에
{
체류;
/ * C = 1;
INT FENZI = A * D;
INT fenmu = B * C;
expArr [0] = A + "÷"+ C + "=";
에서 System.out.println (expArr [0]);
결과 [I] = reductionofFraction (FENZI, fenmu); * /

}

}
FileWriter FW = NULL;
{시도

//题目写入, 파일 (F)는 새로운 파일 ( "Exersies.txt") =
FW = 새로운 FileWriter를 (F, TRUE);
} 캐치 (IOException이 전자)
{
e.printStackTrace ();
}
경우 (expArr [0] = NULL!)
{
의 PrintWriter PW = 새로운 PrintWriter (FW);
pw.println (I + 1 + + expArr [0] ".");
() pw.flush;
{시도
) (fw.flush을;
() pw.close;
fw.close ();
} 캐치 (IOException이 전자)
{
e.printStackTrace ();
}
}
FileWriter FN = NULL;
{시도

//答案写入, 파일 (F)는 새로운 파일 ( "Answer.txt") =
FN = 새로운 FileWriter를 (F, TRUE);
} 캐치 (IOException이 전자)
{
e.printStackTrace ();
}
경우 (expArr [0] = NULL!)
{
의 PrintWriter PN = 새로운 PrintWriter (FN);
pn.println ( "."I + 1 + + 결과 [I]);
pn.flush ();
{시도
) (fn.flush을;
() pn.close;
fn.close ();
} 캐치 (IOException이 전자)
{
e.printStackTrace ();
}
}
}
FileWriter FO = NULL;
{시도

//答案输入, 파일 (F)는 새로운 파일 ( "Your_answers.txt") =
FO = 새로운 FileWriter를 (F, TRUE);
} 캐치 (IOException이 전자)
{
e.printStackTrace ();
}
{시도
) (fo.flush을;
() fo.close;
} 캐치 (IOException이 전자)
{
e.printStackTrace ();
}
에서 System.out.println ( "请在Your_answers.txt中写入答案");
에서 System.out.println ( "请输入확인提交答案");
스캐너 SC1 새로운 스캐너 (System.in을) =;
문자열) (= sc1.nextLine 제출;
(submit.equals) ( "OK") 경우에
{
문자열 배열 [] 새로운 문자열 = NUM];

은 try
{
INT의 K = 0;
을 FileReader FR = 새로운 새로운 기능을 FileReader ( "Your_answers.txt");
을, BufferedReader의 BR = 새 새을, BufferedReader (FR);
문자열 S,
그동안 // 읽기 ((br.readLine S = ()) = 널!) 입력 않음 얻어
{
; K ++, 어레이 [K] = S
}
br.close ();
fr.close를 ();
} 캐치 (IOException이 E)
{
에서 System.out.println ( "지정된 파일이 존재하지 않음")
}
에 대해 (INT J = 0; J <NUM, J ++)
{
IF (배열 [J] .equals (결과 [J]가)) 답변 정확하고 잘못된 통계의 번호를 확인 //
{

rightcount [J = J + 1;
한 Right ++;
grade1 = Right 1 * 10;
}
다른
{

wrongcount [J = J + 1].
wrong1 ++;
}
grade1 RIGHT1 * = 10;
}
FileWriter FG = NULL;
시도 및 에러 피드백 // 타이틀 정보 수정
{
파일 F = 새로운 새 파일 ( "grade.txt을");
FG = FileWriter 새 새 (F true로);
} 캐치 (IOException가 E)
{
e.printStackTrace ();
}
의 PrintWriter 새로운 새로운 PG가의 PrintWriter (FG) =;
pg.println를 ( "");
pg.print ( "올바른 :"+ + RIGHT1 " (정확한 질문 번호 ")
{(; J <= NUM J ++ INT J = 0)에 대한
IF (rightcount [J]! = 0) {
("; pg.print rightcount [J] +) "
}
}
PG .println ( ")");
pg.print ( "잘못된"+ wrong1 + "(에러 타이틀 번호")
에 대한 (INT J = 0; J <NUM =;J ++) {
경우 (wrongcount [J]! = 0) {
pg.print (wrongcount [J] + "");
}
}
pg.println ( ")");
pg.print ( "등급"+ grade1)
pg.flush ()
은 try {
fg.flush () ;
pg.close ();
fg.close ();
} 캐치 (IOException가 E)
{
e.printStackTrace ();
}
}에서 System.out.println는 ( "결과는 파일에 생성 된 참조하십시오.");
System.out에 .println ( "사용에 대한 감사합니다!");
}
}

결과 :

 

 

 

 

 

 

 

 

 

 질문에 대답 한 후 :

 

 

 

 

 

 주소를 블로그 :

 쉥 닝 : https://www.cnblogs.com/shengning/

 루오 완 천수이볜 : https://home.cnblogs.com/u/pass/

창고 주소 : HTTPS : //github.com/2994226544/exm

 

실험 요약 : 오랜 시간 후, 마지막 실험의 완료 두 사람이 함께 하나 개의 프로그램보다 더 페어 프로그래밍, 복잡하고 동료간에보다 협력 할 수있는 것은 이번이 처음은 매우 중요하게, 사람을 실험 두 사람이 쉽게 원하는 위치 나는 알아낼 수 없습니다. 실험에서, 비록 충돌 향상시킬 수 논의 두 사람이 함께 더 나은 아이디어를 생성 할 수 없습니다 의미가 갈등의 생각,하지만 것입니다. 이 실험은 관련 운영 GitHub의에 좀 더 익숙했다.

 

추천

출처www.cnblogs.com/shengning/p/12615012.html