2017-08-25 5 views
0

私は競争(コードクエスト、F1)に登録したばかりで、プログラミングではかなりアマチュアです(1年前にJavascriptで始めました)、私は昨年のコンペを見ていました私は決して配列をよく理解していなかったので、私がタイトルに入れた課題を試してみることにしました。私のコードはうまく動作しますが、グリッドを出力するために配列内の既存の文字列を呼び出す必要があります。つまり、配列に4つの文字列しかないので、poundArry [3]を呼び出すことができます。私はあなたがコンソールにタイプするときに "#"記号の数で文字列を追加する方法を知る必要があります。私のコードと奇妙な変数名に混乱を招いて申し訳ありません。#記号の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)です。

関連する問題