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