2016-06-22 3 views
-6

저는 Java에서 새삼입니다.Java 인쇄 패턴

public static void main(String[] args) { 
     for(int k = 10; k > 0; k--) 
     { 
      for(int l=0; l < k-1; l++) 
       { 
        System.out.print(' '); 
       } 
      for(int n=10; n > k-1; n--) 
       { 
        System.out.print('*'); 
       } 
     System.out.println(); 
     } 
    } 

그것은이 인쇄 : 나는 다음 코드가

  * 
     ** 
     *** 
     **** 
    ***** 
    ****** 
    ******* 
    ******** 
********* 
********** 

을하지만이 같은 빈 내부에 그것을 인쇄 할 방법 :

  * 
     ** 
     * * 
     * * 
    * * 
    * * 
    *  * 
    *  * 
*  * 
********** 

누구든지 나를 explane 할 수 해. 저는 이것이 숙제를 해결하는 곳이 아니라는 것을 알고 있습니다. 그러나 누군가가 단어로 문제를 해결하기위한 알고리즘을 말해 줄 수 있습니까? 혼자서 이해하고 해결하기 위해 준비된 솔루션이 필요하지 않습니다. 그래서 어떻게 내부에 공간을 둘 수 있습니까?

답변

1

힌트 : 두 번째 루프에서는 n의 첫 번째 값과 마지막 값으로 모두 '*'을 인쇄해야합니다. 다른 위치의 경우 ' '을 인쇄하십시오.

+0

처음 값과 마지막 값을 찾는 방법은 무엇입니까? – Denys

+0

'if' 문을 사용하십시오. 그리고 당신이'n'의 값을 계산하는 방법을보십시오. –

-1

힌트 : 두 번째 inner for 루프에서 n의 가장 큰 값과 가장 낮은 값을 확인하고 '가장 작은 값'을 확인한 다음 'a'를 인쇄하고 그렇지 않으면 'a'를 인쇄하는 if 문을 사용할 수 있습니다. 좋아요 :

for(int n = 10; n > k - 1; n--){ 
    if(n == 10 || n == k || k == 1){ 
    System.out.print('*'); 
    } else { 
    System.out.print(' '); 
    } 
}