[Java] 배열을 사용하여 a~z 출력하기

Haeun Noh·2022년 9월 13일
0

JAVA_예제

목록 보기
19/23
post-thumbnail

0913


배열에 a~z를 저장한 후 출력하는 프로그램을 작성하시오.


문제 조건

  • 배열을 사용할 것
  • 알파벳을 입력받아 해당 알파벳까지 출력할 것

소스 코드

package Array;

import java.util.Scanner;
public class AtoZ {
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		//입력
		System.out.print("알파벳 입력 : ");
		char index = scan.next().charAt(0);
		
		char[] alphabet = new char[index-('a'-1)];
		
		//처리
		for ( int i = 0; i < alphabet.length; i++ ) {
			alphabet[i] = (char)('a'+i);
		}
		
		//출력
		for ( int i = 0; i < alphabet.length; i++ ) {
			System.out.print(alphabet[i]);
		}
	}
}

소스 풀이

		//입력
		System.out.print("알파벳 입력 : ");
		char index = scan.next().charAt(0);
        
        char[] alphabet = new char[index-('a'-1)];

알파벳을 입력받아 charAt(0)을 이용해 한 글자를 charindex변수에 저장한다.

char배열을 잡아서 입력받은 알파벳만큼의 공간을 잡아준다.
a의 아스키코드값은 97이다. 만약 입력받은 알파벳이 c라면 아스키코드값은 99가 될 것이고 char배열의 공간은 3이 되어야 할 것이다. 이를 만족하려면 99-96이 되어야 하기 때문에 'a'-1index에서 빼서 공간을 잡아주는 것이다.


		//처리
		for ( int i = 0; i < alphabet.length; i++ ) {
			alphabet[i] = (char)('a'+i);
		}

인덱스 방 번호를 나타내는 i를 인덱스 처음 방인 0으로 초기화한다.

입력받은 알파벳까지 출력해야 하기 때문에 앞에서 입력받은 알파벳만큼의 공간을 잡아주었던 alphabet의 크기 이전까지 인덱스를 뜻하는 i를 1씩 증가시킨다.

alphabeti번째 방에 'a'+ichar로 강제 형변환시켜서 넣으면 'a'부터 'z'까지 넣을 수 있다.


		//출력
		for ( int i = 0; i < alphabet.length; i++ ) {
			System.out.print(alphabet[i]);
		}

'a'부터 입력받은 알파벳까지 출력한다.



profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글