2017-08-25 49 views
0

因此,我剛剛參加了一個競賽(Code Quest,Fl),而且我在編程方面相當業餘(一年前開始使用Javascript),而且我在看去年的比賽問題,並且由於我從來沒有對陣列有過很好的理解,所以我決定嘗試我在標題中提出的挑戰。我的代碼工作正常,但爲了輸出網格,我需要調用數組中的預先存在的字符串,即我現在只能調用poundArry [3],因爲我只有4個字符串在數組中。我需要知道在控制檯中輸入時如何添加帶有「#」符號數的字符串。對不起,我的代碼和任何奇怪的變量名稱混淆。用#符號製作一個N×N的網格

static int gridSize; 
static String pound = "#"; 
static String[] poundArry = {"#","##","###","####"}; 
static Scanner sc = new Scanner(System.in); 
public static void drawSymbols() { 
    for(int i = 0; i<=gridSize; 
      i++, 
      System.out.println(poundArry[gridSize]) 
     ); 
} 
public static void calculateGrid() { 
    drawSymbols(); 
} 
public static void main(String[] args) { 
    System.out.println("Enter Grid Size"); 
    gridSize = sc.nextInt()-1; 
    calculateGrid(); 
} 
+0

你想要打印特定的圖案或網格? – nullpointer

+0

只需一個N×N的網格 – JakeTheSnake

+0

在這種情況下嘗試使用嵌套循環。嘗試並復出 – nullpointer

回答

0

最優化(性能/內存)的方式來創建重複字符的String是:

public static String repeat(char ch, int count) { 
    char[] buf = new char[count]; 
    java.util.Arrays.fill(buf, ch); 
    return new String(buf); 
} 

如果你在一個更大的項目時,把在一個工具類,例如命名爲StringUtils

當然,您實際上並不需要編寫它,因爲它已經存在於Apache Commons Lang第三方庫中:StringUtils.repeat(char ch, int repeat)

GuavaStrings.repeat(String string, int count)