charAt을 설명하기 전 String을 잠시 보자, String이란 무엇인가?
문자'열'.. 그렇다. 문자가 배열처럼 나열되어 있는 형태를 문자열 즉, String이라고 하는 것이다. 우리는 배열을 배우면서 값의 배열 순서를 입력해 코드가 주소값을 찾아 값을 출력해준다는 사실을 알고 있다.
'문자열도 배열이라면 배열처럼 선택할수 있지않을까?'
이것을 가능하게 해주는 키워드가 바로 charAt()이라는 놈이다.
다시말해 charAt이란 문자열을 배열처럼 사용하게 해주는 것을 말한다.
문자열로 정의되어 있는 변수에 charAt을 붙여 원하는 값을 괄호안에 넣어 사용하는데 이때 괄호안에는 배열의 순서가 들어가야한다.
String hellow = "안녕하세요.";
hellow.charAt(0); //"안"
hellow.charAt(1); //"녕"
hellow.charAt(2); //"하"
hellow.charAt(3); //"세"
hellow.charAt(4); //"요"
hellow.charAt(5); //"."
이 값을 콘솔창에서 보고 싶으면 print하면 된다.
이제 charAt을 배웠으니 이 키워드를 사용하여 정수를 한글로 바꾸는 프로그램을 만들어보자. 우리는 입력을 "1023"이라고 하면 출력을 "일공이삼"이라고 출력하는 프로그램을 만들고 싶다고 가정해보자
public class MethodTask {
void numberToHangle(){
}
public static void main(String[] args) {
}
}
String hangle = "공일이삼사오육칠팔구";
String toHangle = "";
String hangle = "공일이삼사오육칠팔구";
void numberToHangle(String data) {
String toHangle = "";
String hangle = "공일이삼사오육칠팔구";
int num = Integer.parseInt(data);
for (int i = 0; i < data.length(); i++) {
toHangle += hangle.charAt(num%10);
}
}
for (int i = 0; i < data.length(); i++) {
toHangle += hangle.charAt(num%10);
num/=10;
}
...생략....
for (int i = toHangle.length()-1; i >= 0; i--) {
result += toHangle.charAt(i);
}
System.out.println(result);
package day11;
public class Hangle {
void numberToHangle(String data) {
String toHangle = "";
String hangle = "공일이삼사오육칠팔구";
String result ="";
int num = Integer.parseInt(data);
for (int i = 0; i < data.length(); i++) {
toHangle += hangle.charAt(num%10);
num/=10;
}
for (int i = toHangle.length()-1; i >= 0; i--) {
result += toHangle.charAt(i);
}
//System.out.println(toHangle);
System.out.println(result);
}
public static void main(String[] args) {
Hangle han = new Hangle();
han.numberToHangle("81");
}
}