public class Main{
public static void main(String[] args) {
int h = 5;
for(int r = 0; r<h; r++){
int emptyCnt = r;
while(emptyCnt>0){
System.out.print(" ");
emptyCnt--;
}
int starCnt = (2*h-2*r-1);
while(starCnt>0){
System.out.print("*");
starCnt--;
}
System.out.print("\n");
}
}
}
마름모 그리기
public class Main{
public static void main(String[] args) {
int h = 3; //높이
//정삼각형 그리기
for(int r = 0; r<h;r++){
int emptyCnt = h-r;
while(emptyCnt>0){
System.out.print(" ");
emptyCnt--;
}
int starCnt = 2*r+1;
while(starCnt>0){
System.out.print("*");
starCnt--;
}
System.out.print("\n");
}
//중앙선 그리기
for(int b=2*h+1;b>0;b--){
System.out.print("*");
}
System.out.print("\n");
//역삼각형 그리기
for(int r=0; r<h; r++){
int emptyCnt = r+1;
while(emptyCnt>0){
System.out.print(" ");
emptyCnt--;
}
int starCnt = 2*h-2*r-1;
while(starCnt>0){
System.out.print("*");
starCnt--;
}
System.out.print("\n");
}
}
}
원
이차원 배열
int : 배열의 요소로 저장되는 변수 타입
arr : 배열 이름 선언
int[2][3] : 배열의 row, column 선언
int[][] arr = new int[2][3];
int k = 10;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = k; // 인덱스를 이용한 초기화
k += 10;
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
//10 20 30
//40 50 60
원 그리기
방정식 : x^2+y^2=r^2
public class Main {
public static void main(String[] args) {
// r=radius
int r = 3;
int MAT_SIZE = 2 * r + 1;
char[][] MAT = new char[MAT_SIZE][MAT_SIZE];
for (int x = -r; x <= r; x++) {
for (int y = -r; y <= r; y++) {
if (x * x + y * y <= r * r) {
MAT[x + r][y + r] = '*';
} else {
MAT[x + r][y + r] = ' ';
}
}
}
for (int x = 0; x < MAT_SIZE; x++) {
for (int y = 0; y < MAT_SIZE; y++) {
System.out.print(String.format("%2c", MAT[x][y]));
}
System.out.println("");
}
}
}
마치며
배열과 반복문을 통해 도형을 만들어보면서 어려우면 무한대로 어려워질 수 있다는 걸 느꼈다. 개념을 배울 땐 예시가 쉬워서 난이도가 높지 않다고 생각했는데, 중첩 반복문부터 2차원 배열까지 나오니 머리가 아팠다. 처음 마름모를 만들 때만 해도 마름모를 만들었으니 순서도며 모든 과정을 깨달은 것 같았는데 원을 그리며 다시 좌절했다.
그리고 별과 로고는 아직 접근하지도 못했다는 게 아쉽다. 순서도와 반복문을 자유자재로 쓰지 못하면 그 이상의 단계로 나아갈 수 없다는 말을 듣고 조금 우울해졌다. 좀 더 노력해야 하는 데 온전히 코딩 공부에만 집중하는 게 어렵다.