项目1
码云地址:https://gitee.com/xiaoshishuya/codes
1.结对编程成员:
16012109郭美晴
16012116张文竹
2.选择题目
黄金点
阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏:
N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。记录每一次游戏每名同学的数字和分数。
结对编程过程照片
3.代码
import java.awt.event.MouseEvent; import java.util.Scanner; public class gz { public static void main(String args[]) { Scanner in=new Scanner(System.in); //使用Scanner类定义对象 double numn[][] = new double [100][100]; double goal[] = new double [100]; double gan[] = new double [100]; double max=0,min=100; double sum=0,G=0; System.out.println("请输入人数"); double nump=in.nextDouble(); //接收float型数据 System.out.println("请输入游戏次数"); double numg=in.nextDouble(); //接收float型数 for(int h=0;h<nump;h++){ goal[h]=0; gan[h]=0; } for(int s=0;s<numg;s++) { System.out.println("游戏开始"); for(int k=0;k<nump;k++) { System.out.println("玩家输入"); double num = in.nextDouble(); //接收float型数据 numn[s][k]=num; } for(int j=0;j<nump;j++) { sum+=numn[s][j]; } G=(sum/nump)*0.618;//求G值 double dif=0; for(int qq=0;qq<nump;qq++){//求分数 dif=Math.abs(numn[s][qq]-G); goal[qq]=dif; } for(int f=0;f<nump;f++) { if(max<goal[f]) max=goal[f]; if(min>goal[f]) min=goal[f]; } for(int th=0;th<nump;th++) { if(goal[th]==min) gan[th]=gan[th]+nump; if(goal[th]==max) gan[th]=gan[th]-2; } for(int tt=0;tt<nump;tt++) { System.out.println(gan[tt]); } } } }
4.运行结果截图
5.感受和体会
结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。
在这次合作中获得了很多,两个人一起思考一起讨论互补,使学习的过程不会那么枯燥,有的问题一个人可能会百思不得其解,但两个人在一起思考的话往往会很快解决,节省很多时间
6. 运用“汉堡包”的方式,评价你的合作伙伴,指出优点、缺点,希望ta提高的地方
优点:
有很强的执行能力,刚想到的思路,马上就会去验证,合作的很好
缺点:
对于这次结对编程项目,有一些的问题报漏出来,一些知识点掌握的不是很扎实,我想这也是我的缺点