4桁の数字のすべての可能な組み合わせの文字列を作成しますstr =“ 0000”、“ 0001”、…“ 9999”; --java [クローズ]

Nov 25 2020

考えられるすべての4桁の数字の組み合わせの文字列を作成する必要があります。str = "0000"、 "0001"、 "0002"、...、 "9999"のように;

組み合わせを印刷することはできますが、これを文字列に保存することが課題であり、解決策が見つからないようです。これが私がこれまでに書いたコードです。それは出力のために完全に機能します。

public class AufgabeTrial {

public static void main(String[] args) 
{
    for(int w=0; w<=9; w++)
    {
        for(int x=0; x<=9; x++)
        {
            for(int y=0; y<=9; y++)
            {
                for(int z=0; z<=9; z++)
                    
                    System.out.println(String.valueOf(w) + String.valueOf(x) + String.valueOf(y)+ String.valueOf(z));
                    
                    
            }
        }
    }

回答

4 AndrianSoluk Nov 25 2020 at 17:17

String.formatを使用できます。次の例を参照してください。

    public static void main(String[] args) {
        printPattern();
      }
    
      private static void printPattern() {
        for (int i=0;i<=9999;i++){
          System.out.println(String.format("%04d", i));
        }
      }
2 LiveandLetLive Nov 25 2020 at 17:15

それらを印刷する代わりに、に追加することができますStringBuilder。すべてのループが終了したら、を呼び出すことで目的の文字列を取得できますStringBuilder#toString

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (int w = 0; w <= 9; w++) {
            for (int x = 0; x <= 9; x++) {
                for (int y = 0; y <= 9; y++) {
                    for (int z = 0; z <= 9; z++)
                        sb.append(String.valueOf(w) + String.valueOf(x) + String.valueOf(y) + String.valueOf(z))
                                .append(System.lineSeparator());
                }
            }
        }
        String result = sb.toString();
        System.out.println(result);
    }
}