[英]Objects - What am I doing wrong?
我正在嘗試創建一個對象數組,即Trees(如森林)12x12。 一開始他們都是樹。 用戶輸入要開始的火災的次數以及火災蔓延到周圍物體之一的概率。 當我使用array [] []時,它可以工作,但是當嘗試使其與對象一起工作時,我無法讓對象檢查其周圍的對象,然后決定是否着火。 我是該網站的新手,所以我不確定您需要看什么。
public static void fireCheck(Tree[][] trees1){
int i = 0;
int c = 0;
for(i = 0; i <= 11; i ++) {
for(c = 0; c <= 11; c ++) {
switch(trees1[i][c].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i][c].burned(); break;
default: break;
}
if(trees1[i][c].getStatus() == '^'){
if(i <= 10){
switch(trees1[i + 1][c].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i+1][c].probability(); break;
default: break;
}
if(c <= 10){
switch(trees1[i][c + 1].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i][c+1].probability(); break;
default: break;
}
switch(trees1[i + 1][c + 1].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i+1][c+1].probability(); break;
default: break;
}
}
}
if(i >= 1){
switch(trees1[i - 1][c].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i-1][c].probability(); break;
default: break;
}
if(c >= 1){
switch(trees1[i][c - 1].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i][c-1].probability(); break;
default: break;
}
switch(trees1[i - 1][c - 1].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i-1][c-1].probability(); break;
default: break;
}
}
}
if(i <= 10){
if(c >= 1){
switch(trees1[i+1][c-1].getStatus()){
case '^': break;
case '.': break;
case '*': trees1[i+1][c-1].probability(); break;
default: break;
}
}
}
}
}
}
}
我想您想使該程序更加面向對象。
創建一個類Tree,該類具有一定的位置並可以識別另一棵樹是否是鄰居。
interface OurTree{
public int getPosition();
public boolean isNeighbour(OurTree tree);
public boolean isBurning();
}
實施上述界面將為您提供幫助。
創建上述實現的接口的一組對象(假定為森林)。 遍歷該集合,並確定是否有任何樹木着火。 如果是,請燒毀其鄰居。
另外,您可以定義一個方法來返回給定樹的鄰居,並立即將其全部刻錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.