标签:
课程:Java程序设计实验 班级:1352 姓名: 于佳心 学号:20135206
成绩: 指导教师:娄嘉鹏 实验日期及时间:2015.06.04
座位号: 必修/选修:选修 实验序号:03
实验名称:敏捷开发和XP实验
实验仪器:
名称 |
型号 |
数量 |
计算机 |
|
1 |
实验楼 |
|
1 |
实验partner:万子惠20135206http://www.cnblogs.com/midori/
实验内容:
1. XP基础
2. XP核心实践
3. 相关工具
步骤 |
耗时 |
百分比 |
需求分析 |
20min |
10% |
设计 |
50min |
25% |
代码实现 |
50min |
25% |
测试 |
30min |
15% |
分析总结 |
50min |
40% |
(一)敏捷开发与XP
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。“敏捷流程”是一系列价值观和方法论的集合。
(二)编码标准
单击Eclipse菜单中的source->Format 或用快捷键Ctrl+Shift+F就可以按Eclipse规定的规范缩进
代码标准中很重要的一项是如何给包、类、变量、方法等标识符命名,能很好的命名可以让自己的代码立马上升一个档次。Java中的一般的命名规则有:
(三)结对编程
$ cd /home/shiyanlou/Code/shiyanlou_cs212
# 修改代码文件
# 添加修改文件
$ git add 所有修改的文件
# 提交到环境中本地代码仓库
$ git commit -m ‘本次修改的描述‘
# push到git.shiyanlou.com,无需输入密码
$ git push
克隆别人的代码
$ git clone http://git.shiyanlou.com/[对方的专属用户名]/[课程代码仓库名]
(五)重构
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。
修改软件的四种动机:
一个完整的重构流程包括:
从版本控制系统代码库中Check out code
读懂代码(包括测试代码)
发现bad smell
Refactoring
运行所有的Unit Tests
往代码库中Check in code
(六)实践项目
题目:通过GUI界面实现一个猜数字游戏
小组成员:于佳心20135206
万子惠20135314http://www.cnblogs.com/midori/
代码:
* 猜数字游戏
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class WindowButton extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
int number;
JTextField inputNumber;
JLabel feedBack;
JButton buttonGetNumber,buttonEnter;
WindowButton(String s)
{
super(s);
buttonGetNumber = new JButton("得到一个新的随机数");
feedBack = new JLabel("并没有什么好说的",JLabel.CENTER);
feedBack.setBackground(Color.red);
inputNumber = new JTextField("0",5);
buttonEnter = new JButton("确定");
buttonEnter.addActionListener(WindowButton.this);
buttonGetNumber.addActionListener(WindowButton.this);
Box boxH1 = Box.createHorizontalBox();
boxH1.add(new JLabel("生成1~100之间随机数:"));
boxH1.add(buttonGetNumber);
Box boxH2 = Box.createHorizontalBox();
boxH2.add(new JLabel("输入您的猜测:"));
boxH2.add(inputNumber);
Box boxH3 = Box.createHorizontalBox();
boxH3.add(new JLabel("决定好就请按这里:"));
boxH3.add(buttonEnter);
Box boxH4 = Box.createHorizontalBox();
boxH4.add(new JLabel("电脑君说:"));
boxH4.add(feedBack);
Box baseBox = Box.createVerticalBox();
baseBox.add(boxH1);
baseBox.add(boxH2);
baseBox.add(boxH3);
baseBox.add(boxH4);
Container con = getContentPane();
con.setLayout(new FlowLayout());
con.add(baseBox);
con.validate();
setBounds(230,225,400,200);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == buttonGetNumber)
number = (int)(Math.random()*100)+1;
else if(e.getSource() == buttonEnter)
{
int guess = 0;
try{
guess = Integer.parseInt(inputNumber.getText());
if(guess == number)
{
feedBack.setText("猜对了~");
}
else if(guess > number)
{
if(guess%3 == 0)
feedBack.setText("猜大了~你是猪吗~");
else if (guess%3 == 1)
feedBack.setText("猜大了~能聪明点吗~");
else
feedBack.setText("猜大了~我借点智商你好不好~");
inputNumber.setText(null);
}
else if(guess < number)
{
if(guess%3 == 0)
feedBack.setText("猜小了~你是猪吗~");
else if (guess%3 == 1)
feedBack.setText("猜小了~能聪明点吗~");
else
feedBack.setText("猜小了~我借点智商你好不好~");
inputNumber.setText(null);
}
}
catch(NumberFormatException event)
{
feedBack.setText("请输入数字字符");
}
}
}
}
public class GuessNumber {
public static void main(String[] args) {
new WindowButton("猜数字小游戏");
}
}
结果展示:
标签:
原文地址:http://www.cnblogs.com/javablack/p/4553432.html