JAVA第三次實驗

來源:互聯網
上載者:User

標籤:

第三次實驗

北京電子科技學院(BESTI)

              

課程:Java程式設計   班級:1352       姓名:黃坤  學號:20135226

成績:             指導教師:婁嘉鵬      實驗日期:

實驗密級:         預習程度:             實驗時間:

儀器組次:          必修/選修:選修       實驗序號:3

實驗名稱:                敏捷開發與XP實踐                           

實驗目的與要求:                                                        

完成實驗、撰寫實驗報告,實驗報告以部落格方式發表在部落格園,注意實驗報告重點是運行結果,遇到的問題(工具尋找,安裝,使用,程式的編輯,調試,運行等)、解決辦法(空洞的方法如“查網路”、“問同學”、“看書”等一律得0分)以及分析(從中可以得到什麼啟示,有什麼收穫,教訓等)。報告可以參考範飛龍老師的指導                             

                                                                     

 

實驗儀器:

名稱

型號

數量

Pc

 

1

 

 

 

 

重構:

一、一個完整的重構流程包括:

  1. 從版本控制系統程式碼程式庫中Check out code
  2. 讀懂代碼(包括測試代碼)
  3. 發現bad smell
  4. Refactoring
  5. 運行所有的Unit Tests
  6. 往程式碼程式庫中Check in code

二、重構技能

 

三、何時需要重構

 

 

 

 

 

 

TDD測試:

 

 

 

 四、遊戲:掃雷

import static org.junit.Assert.*;

import org.junit.Test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;

import MyFrame.Constant;
public class testTank {
private int x,y;
private int wid=Constant.WW;
private int hei=Constant.WH;
public int tet(int x, int y) {
this.x = x;
this.y = y;
return 0;
}
public void draw(Graphics g){
Color c=g.getColor();
g.setColor(Color.GRAY);
g.fillRect(x, y, wid, hei);
g.setColor(c);
}
public Rectangle getRect(){
return new Rectangle(x,y,wid,hei);
}

@Test
public void test() {

assertEquals(0,tet(1,1));
}

}

package com.sf.minesweeper.bean;

import javax.swing.JLabel;
/**
* 自訂標籤(雷塊)
*/
public class MineLabel extends JLabel {

private static final long serialVersionUID = -7271927020145498558L;

/**
* 判斷是否是雷
*
* */
private boolean isMine;
/**
* 判斷雷塊是否展開
*
* */
private boolean isExpanded;
/**
* 判斷雷塊是否是旗子
*
* */
private boolean isFlag;
/**
* 判斷是否是雷且未標上旗子
* */
private boolean isMineAndNotflag;
/**
* count 計算雷塊周圍的雷數
*
* */
private int mineCount;
/**
* 雷塊所在的行
*
* */
private int rowIndex;
/**
* 雷塊所在的列
*
* */
private int colIndex;


private int expend=0;

 

//雷區上的行列座標
public MineLabel(int rowIndex, int colIndex) {
this.rowIndex = rowIndex;
this.colIndex = colIndex;
}
//一向是對應的一些get和set方法
public boolean isMine() {
return isMine;
}

public void setMine(boolean isMine) {
this.isMine = isMine;
}

public boolean isExpanded() {
return isExpanded;
}

public void setExpanded(boolean isExpanded) {
this.isExpanded = isExpanded;
}

public boolean isFlag() {
return isFlag;
}

public void setFlag(boolean isFlag) {
this.isFlag = isFlag;
}

public int getMineCount() {
return mineCount;
}

public void setMineCount(int mineCount) {
this.mineCount = mineCount;
}

public int getRowIndex() {
return rowIndex;
}

public void setRowIndex(int rowIndex) {
this.rowIndex = rowIndex;
}

public int getColIndex() {
return colIndex;
}

public void setColIndex(int colIndex) {
this.colIndex = colIndex;


}
/**
* rightClickCount 右鍵點擊次數
*
* */
private int rightClickCount;

public int getRightClickCount() {
return rightClickCount;
}

public void setRightClickCount(int rightClickCount) {
this.rightClickCount = rightClickCount;
}

}

package com.sf.minesweeper.bean;

public class Own implements Comparable<Own>{
private int times;
private String name;
private String level;


public Own(int times, String name, String level) {
super();
this.times = times;
this.name = name;
this.level = level;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public int getTimes() {
return times;
}
public void setTimes(int times) {
this.times = times;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

public int compareTo(Own arg0) {
// TODO Auto-generated method stub
int i = this.times - arg0.times;
if(i==0){
return this.name.hashCode() - arg0.name.hashCode();
}
return i;
}

}

介面如下:

 

 

出現問題及解決辦法:

 

JAVA第三次實驗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.