2017-08-25 77 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)