我创建了这个程序,以帮助在我正在创建的文本冒险中绘制地图。到目前为止,它所做的只是绘制你输入的黑色方格的拘留。有没有办法去除每条线之间的空间,因此没有白线穿过正方形?
这是我的代码:
import java.util.Scanner;
public class MapGrid {
static String createGrid(int x, int y) {
String output = "";
String block = new String("\u2588\u2588"); //A string of two unicode block symbols: ██
if(x * y != 0) { //If neither x nor y is 0, a map of length x and height y will be returned
for(int n = 1; n <= y; n++) {
for(int i = 1; i <= x; i++) {
output += block;
}
output += "\n";
}
}
return output;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try(Scanner sc = new Scanner(System.in)) {
System.out.println("Please enter the length of your map");
int length = sc.nextInt();
System.out.println("Please enter the height of your map");
int height = sc.nextInt();
System.out.println(createGrid(length,height));
}
}
}
这是用户输入5和5时打印的内容:
我拍了一张截图,因为很难看到我用这个字体说的是什么
每个新的块行之间有一个小的间隙,使它看起来不正确。可能没有办法解决这个问题,但我想我会问以防万一。
答案 0 :(得分:5)
您可能希望将System.out重定向到其他位置 如果您想使用Swing,那么您可以查看here
然后这是你重定向的另一个地方的责任 但是现在它只是IDE的一部分( Eclipse )。它独立于 Java 逻辑。
如果你认真对待它。您不想在 Eclipse IDE中播放文本冒险。因此,如果您使用 Windows ,下一个问题是您是否要使用窗口命令行。这可能已经足够你了。但我仍然建议您首先考虑一下您希望在哪种窗口输出文本