2013-02-13 3 views
-3

이 코드가 무슨 문제입니까 ?? 아무것도ASCII 직각을 그릴 수있는 방법은 무엇입니까?

나는 당신이 당신의 인덱스를 잘 가지고있어 생각
public void RTriangle(char appearance, int size) 
    { 
     for (int i = 0; i < size; i++) 
     { 
      for (int j = 0; j < i; j++) 
      { 
       System.out.println(appearance); 
      } 
      System.out.println(); 
     } 
     System.out.println(); 
    } 
+1

언제 어떤 공백을 추가하고 있습니까? 여기에는 두 개의 문자 -''와'*'가 사용됩니다. – Makoto

답변

1
public void print(final char appearance, final int size){ 
    for (int i = 1; i <= size; i++) { 
     for (int j = size - i; j >0; j--) 
      System.out.print(" "); 
     for (int k = i; k > 0; k--) 
      System.out.print(appearance); 
     System.out.println(); 
    } 
} 

. 당신이 내가 논리를 설명하기를 원한다면 말해줘.

+0

나는 논리를 설명하기 위해 너를 사랑해. – Makoto

+0

설명은 훌륭 할 것입니다. – aloobhalooo

+0

가능한 한 현실 세계와 관련이있는 것으로 만들었습니다. 첫 번째 행을 나타 내기 위해 1부터 시작합니다. 거기에서 크기에 대한 행의 양을 알 수 있습니다. 그런 다음 크기로 시작하여 행 수를 뺍니다 (행 하나에는 별이 1 개, 행 2에는 두 개가 있음). 당신은 왼쪽에 인쇄 될 때까지 카운트 다운을 계속합니다. 거기에서부터 더 이상 인쇄 할 필요가 없을 때까지 별의 숫자를 똑같이 반복합니다. –

0

의 대부분을 인쇄 할 것 같지 않습니다. 예를 들면 : 지시대로해야

for (int i = 0 ; i < size ; i++) { // count of rows 
    for (int j = 0 ; j < size ; j++) 
     System.out.print ((i < j) ? " " : appearance); 
    System.out.println(); 
} 
0
public void RTriangle(char appearance, int size) 
{ 
    for(int i=0;i<size;i++) 
    { 
     for(int j=0;j<size;j++) 
     { 
      if((size-j)<i) // the amount of * depents on i and it goes from the right to the left so use size -j 
       System.out.print(""+appearance); //""+ turns the char into a string 
     } 
     System.out.println(); //append a line when your first line is done 
    } 
} 
관련 문제