0720
임의의 숫자를 입력하여 다음과 같이 출력하는 프로그램을 작성하여라.
ex)
숫자를 입력하시오. 3
Z
ZY
ZYX
소스
import java.util.Scanner;
public class For_Test7 {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
System.out.print("숫자를 입력하시오. ");
int num = scan.nextInt();
int cnt = 1;
for ( int i = 1; i <= num; i++ ) {
for ( char alphabet = 90; cnt <= i ; alphabet-- ) {
System.out.print( alphabet );
cnt++;
}
System.out.print("\n");
cnt = 1;
}
}
}
소스 풀이
- 입력받은 숫자를
num에 저장합니다.
cnt는 출력한 알파벳의 갯수를 의미합니다.
i는 줄 수를 의미합니다.
- 알파벳
Z부터 시작하므로 Z의 아스키코드 값인 90을 초깃값으로 두고 alphabet--의 연산을 하여 Z->Y Y->X가 될 수 있도록 합니다.
cnt <= i일 때까지 연산을 반복합니다. cnt는 출력할 때마다 cnt++의 연산이 되므로 cnt == i일 때까지만 alphabet을 출력하고 for문을 빠져나옵니다. 그리고 다시 다음 줄에서 cnt를 1로 초기화시킵니다.
실행 결과
ex)
숫자를 입력하시오. 10
Z
ZY
ZYX
ZYXW
ZYXWV
ZYXWVU
ZYXWVUT
ZYXWVUTS
ZYXWVUTSR
ZYXWVUTSRQ