[英]Draw a fence in Java using for loops
我受命編寫一個圍欄繪圖程序。 到目前為止,我可以讓用戶輸入值來設置高度和寬度,並且使用嵌套的for循環,我可以得到它以“#”符號的形式輸出高度和寬度。 問題是我需要它與#的邊界為|。 在中間。
當前4高度4寬度的圍欄看起來像這樣
####
####
####
####
我需要它看起來像這樣
####
#||#
#||#
####
public void draw() {
for (i = 1; i < height-1; i++) {
System.out.print("#");
for (j = 1; j < width-1; j++) {
System.out.print("|");
}
System.out.println("#");
}
fenceCount++;
}
什么時候可以休息一下。 我有一個循環,詢問用戶是否要構建其他類型的y或n。 最后,對於終止用戶輸入“ n”,沒有人知道是否有比中斷更好的方法; ? 可以在這里休息一下嗎? 我聽說休息很隨意。 同樣,我總是覺得我不得不在while循環上扭轉思路。
您的籬笆輸出當前將全部用“#”填充
您說對了,最上面和最下面的行只有“#”
對於其余的行,對於第一列和最后一列中的條目,您需要一個#,否則需要一個|。
這里有一些幫助:
for (i = 1; i <= height; i++)
{
if(first or last row)
{
for (j = 1; j <= width; j++)
{
print#
}
}
else{
for (j = 1; j <= width; j++)
{
if(j=1 or j=last column)
print '#'
else
print '|'
}
}
System.out.println();
}
這樣可以很好地建立籬笆:-)
draw()
更改為:
public void draw() {
String border = String.format("%0" + width +"d", 0).replace("0", "#");
System.out.println(border); // top-border
for (int i = 1; i < height-1; i++) {
System.out.print("#");
for (int j = 1; j < width-1; j++) {
System.out.print("|");
}
System.out.println("#");
}
System.out.println(border); // bottom-border
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.