4 자리 숫자의 가능한 모든 조합의 문자열을 만듭니다. str = "0000", "0001",… "9999"; -자바 [닫힘]

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);
    }
}