試圖繪制一個帶有字母的正方形,但是 for 回圈會導致問題。
我有一個類,它繪制一個競技場并向它添加無人機(字母),無人機保存在一個陣列中,每次到達它們的坐標時都會顯示出來。
例如(主要功能如下)。
無人機陣列在無人機二維陣列中,顯示它們的函式在 showIt 函式中,該函式在垂直函式中被呼叫。問題是當我有一架無人機時,它會完美地無人機,但是當我添加不止一架無人機時,競技場的寬度會增加一倍、三倍等。
public class DroneArena {
char myDrone = 'X';
boolean positionReached = false;
int[][] drones = {{12, 17}, {2, 10}, {5, 14}};
public DroneArena(int w, int h, char border) {
horizental(w, border);
for(int i = 0; i < h; i ) {
vertical(w, i, border);
}
horizental(w, border);
}
void showIt(int h, int i, char drone) {
if(drones.length > 0) {
for(int j = 0; j < 3; j ) {
if((h == drones[j][0]) && (i == drones[j][1])) {
System.out.print(drone);
}else {
System.out.print(" ");
}
}
}else {
System.out.print(" ");
}
}
void vertical(int w,int h, char border) {
System.out.print(border);
for(int i = 0; i < w - 2; i ) {
// System.out.print(" ");
showIt(h, i , 'D');
}
System.out.println(border);
}
void horizental(int w, char border) {
for(int i = 0; i < w -1; i ) {
System.out.print(border);
}
System.out.println(border);
}
}
//主要方法
public class Main {
public static void main(String[] args) {
DroneArena arena = new DroneArena(20, 20, '-');
}
}
uj5u.com熱心網友回復:
drone當你找到一架無人機時,你應該列印 char 。如果沒有找到,只列印一個空格。
void showIt(int h, int i, char drone) {
for (int j = 0; j < drones.length; j ) {
if ((h == drones[j][0]) && (i == drones[j][1])) {
System.out.print(drone);
return;
}
}
System.out.print(" ");
}
輸出:
--------------------
- -
- -
- D -
- -
- -
- D -
- -
- -
- -
- -
- -
- -
- D-
- -
- -
- -
- -
- -
- -
- -
--------------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/525396.html
標籤:爪哇
上一篇:MethodNotAllowedHttpExceptionatRouteCollection->methodNotAllowed(array('POST'))
下一篇:流中謂詞的通配符通用型別不適用
