2012-11-22 4 views
1
import java.util.Scanner; 
public class DrawTriangle 
{ 
    public static void main(String[] args) 
    { 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Enter a height"); 
    while (!scan.hasNextInt()) // while non-integers are present 
    { 
     scan.next(); 
     System.out.println ("Bad input. Enter an integer."); 
    } 
    int input = scan.nextInt(); 
    for (int x = 1; x <= input; x++) 
    { 
     for (int y = 0; y < input; y++) 
     { 
      System.out.print(" "); 

      for (int z = 1; z < y; z++) 
      { 
       System.out.print("x"); 
      } 

      System.out.println(); 
     } 
    } 
} 

}자바 문자열 삼각형

나는 사용자가 지정한 높이에 관한 X 년대의 삼각형을해야한다. 전혀 작동하지 못하게되면 어떤 도움을받을 수 있습니다. 감사합니다. 당신은 3 개 단계 개까지 중첩 루프가 필요하지 않습니다

x 
    xxx 
xxxxx 
+0

무엇이 문제입니까? –

+0

오, 안돼. 숙제 시즌 이잖아! 나는 중복 된 것을 찾으려고 귀찮아하고 싶지도 않다. – ppeterka

+1

@ppeterka 그것은 항상 ** 삼각형 질문에 대한 계절입니다. 그들은 실제로 그들 모두를 해결하는 태그 위키의 스 니펫과 함께 자신의 태그를 가질 자격이 있습니다. –

답변

2

-

죄송합니다 나는 그것을 같이 할 필요가 을 명확히해야합니다. 그냥 2 levels이 필요합니다. Onecolumns을 따라 이동하고 onerows을 따라 이동합니다.

그래서, 당신의 루프를 변경 : -

for (int x = 1; x <= input; x++) 
    { 
     for (int y = 0; y < x; y++) 
     { 
      System.out.print("x "); 
     } 
     System.out.println(); 
    } 

UPDATE : -

을 정삼각형의 경우, 시작 행에 x 전에 공간을 인쇄 할 또 하나 개의 루프를 추가해야합니다. 코드는 다음과 같습니다. -

for (int x = 1; x <= input; x++) 
    { 
     for (int y = 0; y < input - x; y++) { 
      System.out.print(" "); 
     } 
     for (int y = 0; y < x; y++) { 
      System.out.print("x "); 
     } 
     System.out.println(); 
    } 
+0

죄송합니다. 정교한 설명이 불쌍한 등변 삼각형처럼 보일 것입니다. – user1554786

+0

@ user155478 .. 코드를 편집합니다. 그러면 두 개의 고리가 필요할 것입니다. –

+0

@ user1554786 .. 그 코드를 추가했습니다. 확인 해봐. –