任何人都可以帮助我,测试这种方法
public int[] selectRandomPosition(int sitzOfGraphic, int sitzOfGraphic2) {
int width = StdRandom.uniform(0,sitzOfGraphic);
int height = StdRandom.uniform(0,sitzOfGraphic2);
return new int[]{width,height};
}
这是我的测试
public void randomtest() throws Exception {
SetMines set = new SetMines();
int[] result = set.selectRandomPosition(10, 10);
System.out.println(result[0]+"q");
for(int a = 0; a < 2; a++){
System.out.println(result[a]);
Assert.assertTrue(result[a]<11 && result[a]>-1);
}
}
如果这不正确,在Eclemma中有一个tipp'错过4个分支中的2个'。谢谢你!!!!
答案 0 :(得分:0)
public class SetMines {
private int mine = 10;
private int [][] setfield = new int[10][10];
public int [][] setMineRandom(){
/**
* Die Mines mit einer zufaelligen Position zustellen
*/
for (int i = 0; i < mine; i++) {
int[] pos = selectRandomPosition(10,10);
while(setfield[pos[0]][pos[1]]==1){ // pruefen od an der Stelle schon ein Mine stellt, wenn ja,sucht ein neue Position zu
pos = selectRandomPosition(10,10);
}
setfield[pos[0]][pos[1]] = 1;
}
return setfield;
}
public int[] selectRandomPosition(int sitzOfGraphic, int sitzOfGraphic2) {
/**
* zufaellige Position zu suchen
*/
int width = StdRandom.uniform(0,sitzOfGraphic);
int height = StdRandom.uniform(0,sitzOfGraphic2);
return new int[]{width,height};
}
public void clear(){
/**
* eine gestellt mine loschen, damit noch mal neue stellen koennten.
*/
for(int a =0 ; a<10 ;a++){
for(int b = 0; b<10;b++){
setfield[a][b] = 0;
}
}
}
// Getter-Methode , um die private Attribute auszunehmen.
public int getMine() {
return mine;
}
public int[][] getSetfield() {
return setfield;
}
}