자바와 함께하는 재미-다이아몬드 그리기
최근에 읽은 포럼 중 하나에서 Java 학생의 흥미로운 요청을 발견했습니다. 그의 수업은 for 루프를 사용하여 별표 (*)로 다이아몬드를 그렸습니다. 그는 정확하고 기능적인 솔루션을 가지고 있었지만 지나치게 복잡하고 여러 루프를 특징으로했기 때문에 표시가 취소되었습니다. 학생은 같은 결과를 얻는 더 쉬운 방법에 대한 제안을 요청했습니다. 나는 이것이 흥미로운 문제라고 생각하고 그것을 시도하기로 결정했다. 내 프로그램이 아래에 있습니다 (또는 여기에서 사본을 다운로드 할 수 있습니다). 이것은 분명히 하나의 생산 코드가 아닙니다.? : 연산자의 단순함을 좋아하지만 생산 코드에 사용하지 않기 위해 노력하고 있습니다. 프로그래머는 읽고 이해하기가 더 어렵다는 것을 알게됩니다. 말할 것도없이,이 코드는 최대 너비 이 값은 46보다 큰 숫자로 변경됩니다. 그러나 원하는 결과를 얻기위한 상당히 간결하고 논리적 인 방법의 예입니다. 더 잘할 수 있습니까? 포럼에서 다시보고하십시오.

/*
 * 다이아몬드. 자바
 *
 * 2007 년 6 월 4 일 오후 11시 39 분에 생성
 */

/**
 *
 * @ 저자 Julie Baumler
 */
공공 석 다이아몬드 {

/ ** 다이아몬드의 새로운 인스턴스를 만듭니다 * /
공개 다이아몬드 () {
}

/**
* @param은 명령 행 인수를 인수합니다.
*/
공개 정적 무효 main (String [] args) {
int max_width = 9; // 다이아몬드를 만들기위한 문자 수
int width = max_width % 2 == 0? 최대 폭 / 2 : 최대 폭 / 2 +1;
문자열 별 = "**************************************************** ";
문자열 공간 = "";
for (int i = 1; i <(width * 2); i ++) {
System.out.print (spaces.substring (0, (i <너비? 너비 -i : i % width)));
System.out.println (stars.substring (0,2 * (i <= width? i : width- (i % width))-1));
}

}

}

원래 요청 :
피 니모. "자바로 도와주세요." 온라인 게시. 2007 년 5 월 13 일 주. Java 토론 (포럼). 2007 년 6 월 4 일.

비디오 지침: [변신 종이접기] 표정이 9가지로 바뀌는 이모티콘 접는방법(종이접기) / 네모아저씨 (Origami transformation face) (4 월 2024).