본문 바로가기

코드업(CodeUp)/기초 100제

[코드업/자바] 기초 100제 - 문자 1개 입력받아 다음 문자 출력하기

1041 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기

 

영문자 1개를 입력받아 그 다음 문자를 출력해보자.

영문자 'A'의 다음 문자는 'B'이고, 영문자 '0'의 다음 문자는 '1'이다.

참고
숫자는 수를 표현하는 문자로서 '0' 은 문자 그 자체를 의미하고, 0은 값을 의미한다.

힌트
아스키문자표에서 'A'는 10진수 65로 저장되고 'B'는 10진수 66으로 저장된다.
따라서 문자도 값으로 덧셈을 할 수 있다.

 

입력

영문자 1개가 입력된다.

출력

다음 문자를 출력한다.


입력 예시

a

출력 예시

b


아스키 문자표에 대해서 이해가 필요하다.

https://ko.wikipedia.org/wiki/ASCII

 

ASCII - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문

ko.wikipedia.org

미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( /ˈæski/, 아스키)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다.


이 문제를 풀기 위해서는 먼저 하나의 문자를 받아서 형변환을 해야한다.

 

자바에서는 String 형식으로 받아서 문자 하나를 char 형식으로 바꿔준다.

	Scanner sc = new Scanner(System.in);
	char ch = sc.nextLine().charAt(0);

 

그리고 char 형식으로 받은걸 아스키 코드값으로 바꿔준다.

	char ch = sc.nextLine().charAt(0);
	int num = (int)ch;

 

그리고 아스키코드표는 문자 순서대로 되어있기때문에 코드값에다가 +1을 해서 다음 문자를 출력할 수 있게 형 변환을 한다.

System.out.println((char)(num+1));

package excercise;
import java.util.*;

public class codeup {

	public static void main(String[] args) {
    
		Scanner sc = new Scanner(System.in); // 문자를 받기 위한 스캐너
		char ch = sc.nextLine().charAt(0); // 스캐너로 받은 문자를 char 형식으로 변환
		int num = (int)ch; // char형식의 문자를 아스키 코드값(정수)로 변환
		
		System.out.println((char)(num+1)); // 다음 문자를 위해 형변환
	}
}
728x90
반응형