[Java] 다이아몬드 알고리즘 응용예제
다이아몬드
Diamond.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | package org.elukasoul.diamond; import java.util.Scanner; public class Diamond { public static void main(String args[]) { // @Date: 2017.05.16 // @Developer: 손혁(elukasoul@gmail.com) // @Program Info: 입력받은 알파벳만큼 다이아몬드를 출력하는 알고리즘 Scanner scanner = new Scanner(System.in); // 출력의 시작변수 int start = 'a'; // 97을 입력해도 괜찮다. System.out.print("입력받은 값: "); // 문자를 입력받기 위해 Scanner 객체와 charAt메소드 사용 int input = scanner.next().charAt(0); for (int i = start; i <= input; i++) { // 좌측 상단에 직각삼각형 공백을 만듦으로 이후 출력될 문자들을 밀어낸다. for (int j = input; j > i; j--) { System.out.print(" "); } for (int j = start; j <= i; j++) { System.out.print((char) j); } for (int j = i; j >= start; j--) { System.out.print((char) j); } System.out.println(); } for (int i = input; i >= start; i--) { // 좌측 하단에 직각삼각형 공백을 만듦으로 이후 출력될 문자들을 밀어낸다. for (int j = i; j <= input; j++) { System.out.print(" "); } for (int j = start; j < i; j++) { System.out.print((char) j); } for (int j = i - 1; j >= start; j--) { System.out.print((char) j); } System.out.println(); } scanner.close(); } } | cs |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 입력받은 값: h aa abba abccba abcddcba abcdeedcba abcdeffedcba abcdefggfedcba abcdefghhgfedcba abcdefggfedcba abcdeffedcba abcdeedcba abcddcba abccba abba aa | cs |
'Programming > Java' 카테고리의 다른 글
[Java] Java설치와 환경 변수 설정 (1) | 2016.06.17 |
---|---|
[Java] 별 찍기 알고리즘 (0) | 2016.06.16 |
[Java] 반복문을 이용한 구구단 (0) | 2016.06.13 |
[Java] 반복문을 이용하여 1부터 10까지 더하기 (0) | 2016.06.12 |
[Java] 반복문(for문, while문)을 사용하여 1부터 10까지 출력하기 (0) | 2016.06.10 |