2013-09-29 1 views
1
import java.util.Scanner; 

public class diamond { 
    public static void main (String[] args){ 

     Scanner scan = new Scanner(System.in); 

     System.out.println("Please enter an integer"); 
     int lines = scan.nextInt(); 

     for(int counter = 1; counter <= lines; counter++) 
     { 
      if (counter%2 != 0) 
      { 
       for(int count2 = 1; count2 <= counter; count2++){ 
       System.out.print("*"); 
       } 
      System.out.println(); 
      } 
     } 
    } 
} 

나는 많은 수의 라인을 사용자에게 물어보고 그 라인 수만큼 별표가있는 다이아몬드를 출력해야합니다. 별표를 가운데에 배치하는 방법을 알아내는 데 도움이 필요합니다. 문자열에 대해서는 String.utils 메서드 나 무언가가 있지만 for 루프를 기반으로 출력물이 나오므로 여기서는 실제로 작동하지 않는다고 생각합니다. 그렇다면 꼭 내게 알려주십시오.도움말 센터링 도움말 센터가 필요합니다

+1

공백 ('''')과 별표 (*)를 어디에 인쇄해야하는지 계산해야합니다. –

답변

1

각 줄을 인쇄하기 전에 일정한 공간을 인쇄해야합니다. 그런 다음, 반대쪽에 for 루프가 필요합니다. 라인 증가, 두 가지를 제거 할 때, 당신은 그것을 가지고 정확히 얼마나 많은 문자를 알 것이다, 당신이 각 줄에 출력 할 문자열을 준비해야한다고 생각

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 

    System.out.println("Please enter an integer "); 
    int lines = scan.nextInt(); 

    for (int counter = 1; counter <= lines; counter++) { 

     if (counter % 2 != 0) { 
      for (int i = 0; i < lines - (counter/2) - 3; i++) { 
       System.out.print(" "); 
      } 
      for (int count2 = 1; count2 <= counter; count2++) { 
       System.out.print("*"); 
      } 
      System.out.println(); 
     } 
    } 
    for (int counter = lines - 1; counter >= 1; counter--) { 

     if (counter % 2 != 0) { 
      for (int i = 0; i < lines - (counter/2) - 3; i++) { 
       System.out.print(" "); 
      } 
      for (int count2 = 1; count2 <= counter; count2++) { 
       System.out.print("*"); 
      } 
      System.out.println(); 
     } 
    } 
} 
1

'*'센터 : 이 코드를 사용해보십시오 문자열 앞에 ""을 추가하고 다시 인쇄하십시오.