Java 코딩 출력에서 출력된 값 사이에 공백 넣는 방법이 궁금합니다!

조회수 12386회

소인수분해를 구하는 문제를 코딩하고 있습니다!

import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {

    int testcase = sc.nextInt();
    int n1;

    for(int i = 0; i < testcase; i ++) {
        n1 = sc.nextInt();

        while(n1 != 1){

            for(int j = 2; j <= n1; j ++){

                if(n1 % j == 0){
                    n1 /= j;

                    System.out.printf(j+" ");

                    break;
                    }
                }
            }
        }
    }
}

해당 코딩 자체에는 문제가 없는 것 같습니다만, 마지막에 출력하는 값에 대해 질문이 있습니다.

System.out.printf(j+" "); 와 같이 출력을 하면,

숫자(공백)숫자(공백)숫자(공백)과 같이 출력이 되는데, 마지막에 나오는 공백을 없애고,

값 사이 사이에만 공백을 넣고 싶습니다.

정말 많은 사이트도 뒤져보고, \t를 이용하는 방법도? 사용해보았는데 잘 모르겠네요 ㅜㅜ

도움 주시면 감사하겠습니다 !!!

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    자바적인 방법: 배열을 만들고 String.join()합니다. 참고

    안 자바적인 방법: 올려주신 소스에서 System.out.printf(j+" "); 부분을 이렇게 고칩니다.

    if (i + 1 == testcase) { // 마지막 i일 때만
      System.out.printf(j);
    } else {
      System.out.printf(j+" ");
    }
    
    • 아직 배열 부분은 제가 배우지 않아서 첫번째 방법은 어디서부터 시작해야 하는지 아예 감이 잡히질 않네요 ㅜㅜ... 장찬우 2018.10.12 20:41
    • java.util.Array 이 코드를 사용하는게 맞나요?? 장찬우 2018.10.12 20:41
    • 사실 제가 자바를 몰라서… 자세한 내용은 다른 분이 답해주실 것으로 믿습니다. ^^; 엽토군 2018.10.12 22:21

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)