프로그램 처음 배울때 만들어 보는 삼각형
처음 배울때 만들어 보는 것중 하나 입니다.
삼각형은 중앙에 정렬된 별로 구성되어 있으며, 각 줄의 별의 수는 1, 3, 5로 증가합니다. 각 줄마다 양쪽에 적절한 수의 공백이 필요합니다. 이를 위해 다섯
가지 방법으로 구현된 메소드를 갖는 클래스를 작성의 예 입니다.
<?php
class CenteredTrianglePrinter {
// 첫 번째 방법: 중앙 정렬 반복문 사용
public function printTriangle1() {
for ($row = 1; $row <= 5; $row += 2) {
echo str_repeat(' ', (5 - $row) / 2) . str_repeat('*', $row) . "\n";
}
}
// 두 번째 방법: 배열과 중앙 정렬 사용
public function printTriangle2() {
$triangle = '';
for ($row = 1; $row <= 5; $row += 2) {
$triangle = str_repeat(' ', (5 - $row) / 2) . str_repeat('*', $row);
echo $triangle . "\n";
}
}
// 세 번째 방법: 중앙 정렬과 문자열 조작 사용
public function printTriangle3() {
for ($row = 1; $row <= 5; $row += 2) {
echo str_pad(str_repeat('*', $row), 5, ' ', STR_PAD_BOTH) . "\n";
}
}
// 네 번째 방법: 중앙 정렬된 배열 사용
public function printTriangle4() {
for ($row = 1; $row <= 5; $row += 2) {
echo str_pad('', (5 - $row) / 2, ' ', STR_PAD_LEFT) . str_repeat('*', $row) . "\n";
}
}
// 다섯 번째 방법: 재귀 함수와 중앙 정렬 사용
public function printTriangle5($row = 1) {
if ($row > 5) return;
echo str_pad(str_repeat('*', $row), 5, ' ', STR_PAD_BOTH) . "\n";
$this->printTriangle5($row + 2);
}
}
// 클래스 인스턴스화 및 메소드 호출
$trianglePrinter = new CenteredTrianglePrinter();
echo "Triangle Method 1:\n";
$trianglePrinter->printTriangle1();
echo "\nTriangle Method 2:\n";
$trianglePrinter->printTriangle2();
echo "\nTriangle Method 3:\n";
$trianglePrinter->printTriangle3();
echo "\nTriangle Method 4:\n";
$trianglePrinter->printTriangle4();
echo "\nTriangle Method 5:\n";
$trianglePrinter->printTriangle5();
?>
이 클래스는 정삼각형을 다섯 가지 다른 방식으로 출력 하는데 각 메소드는 고유한 방법을 사용하여 중앙 정렬된 삼각형을 만들고 클래스를 실행하면, 프로그램 시작 시 다양한 방법으로 삼각형을 그리는 예제를 볼 수 있습니다.