1
作業,我必須建立一個10x10「位圖」,將打印一個房子的簡單圖像,建成自己的類。構造函數需要填充每個點的座標int[]
,這樣的值1 , 1 , 1 , 2
等於座標點(1,1)和(1,2)二維位圖填充不正確的位置的對象[作業]
但是我很困惑什麼是當我嘗試打印我的數組時發生。我的一些觀點出現在錯誤的地方,有些缺失,但大多數都處於正確的位置。被填充和印刷後,位圖應該看起來像
--------- ----------
-o-oo---- -o-o------
-oo--o--- -oo-o-----
-o----o-- -o---o----
oo----oo- oo----o---
-o-o--o-- but my result is -o-o---o--
-o-o--o-- -o-o--o---
-o-o--o-- -o-o--o---
-oooooo-- -oooooo---
--------- ----------
以下是我的構造函數...
String image[][] = new String[10][10];
Bitmap(int a[]) {
//CONSTRUCTOR
for (int i = 0; i < 10; i++) { //set all to '-'
for (int j = 0; j < 10; j++) {
image[i][j] = "-";
}
}
int c = 0; // because it takes too long to type out a proper for loop
for (int i : a) { //read data and plot points
if(c % 2 == 1) temp2 = a[c];
else temp1 = a[c];
if(c % 2 == 0 && c != 0)
image[temp1][temp2] = "o";
c++;
}
}
,這裏是我的觀點。
int points[] = { 1, 1, 1, 3, 1, 4, 2, 1, 2, 2, 2, 5, 3, 1, 3, 6, 4, 0, 4, 1, 4, 6, 4, 7, 5,
1, 5, 3, 5, 6, 6, 1, 6, 3, 6, 6, 7, 1, 7, 3, 7, 6, 8, 1, 8, 2, 8, 3, 8, 4,
8, 5, 8, 6
它翻譯成:
(1,1) (1,3) (1,4) (2,1) (2,2) (2,5) (3,1) (3,6) (4,0) (4,1) (4,6) (4,7) (5,1) (5,3) (5,6)
(6,1) (6,3) (6,6) (7,1) (7,3) (7,6) (8,1) (8,2) (8,3) (8,4) (8,5) (8,6)
我的結果,另一方面,打印爲
(1,1) (1,3) (,) (2,1) (2,2) (2,4) (3,1) (3,5) (4,0) (4,1) (4,6) (,) (5,1) (5,3) (5,7)
(6,1) (6,3) (6,6) (7,1) (7,3) (7,6) (8,1) (8,2) (8,3) (8,4) (8,5) (8,6)
我不能告訴我在做什麼錯了,我真的不知道從哪裏開始。如果我能得到幾個指針或者對我的代碼中的缺陷發表評論,那將是非常棒的。
首先我建議命名你的變量可能是'int x'和'int y'。我真的不知道爲什麼當你測試'if(c%2!= 0)'時,你應該在'c%2 == 0'時將位圖點設置爲'o'? –
@SchokokuchenBäcker謝謝你的工作。在閱讀你的建議之後,我再次追溯了我的代碼,並且意識到你的答案爲什麼是正確的。如果我正在測試'c%2 == 0 && c!= 0',那麼我會在_third_迭代中而不是在_second_迭代中開始打印'o'。第二次迭代將是第一次完整集合,第三次迭代將是完成集合後的一個數字。這也使我能夠從我的if語句中排除'c!= 0'。 –