Purple Bobblehead Bunny

Backend/JAVA

[JAVA] chatAt(int i) - '0'

준영어린이 2022. 4. 23. 17:31

 

charAt은 자바에서 문자열에 index 값을 통해 문자를 읽어오는 방법이다.

 

String a = "안녕하세요"; 문자열에서

public class Main  {
	public static void main(String[] args) { 
	   String a = "안녕하세요";
       
       a.charAt(0);    //안
       a.charAt(1);    //녕
       a.charAt(2);    //하
       a.charAt(3);    //세
       a.charAt(4);    //요
    }
}

문자를 불러올 수 있다.

public class Main {
	public static void main(String[] args) { 
	  String a = "1234";
	  
	  System.out.println(a.charAt(0));
	  System.out.println(a.charAt(1));
	  System.out.println(a.charAt(2));
	  System.out.println(a.charAt(3));
	
	}
}

 

a.charAt(0)을 출력하게 되면 1이 출력이 되는데, 

여기서 1은 숫자 1이 아닌 ' 문자 1 ' 이 된다.

 

이 문자 1은 char형인데,  int형으로 형 변환을 하면 아스키코드 값인 49가 나오게 된다.

 

1이 필요한데, 49에서 1이 되기 위해서는 48을 빼줘야 하는데

 

여기서 '0'은 아스키코드값으로 int형으로 바꾸게 되면 48이 된다.

 

그래서  - '0'을 해준다..

 

숫자1 = 49, 숫자2 = 50, 숫자3 = 51 일 때,  여기에 - '0'을 해주게 되면 

숫자1 = 1 , 숫자2 = 2  , 숫자3 = 3이 된다.

 

 

 

charAt - '0'

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int A = input.nextInt();
		int B = input.nextInt();
		int C = input.nextInt();
		
		int result = (A * B * C);
		String str = String.valueOf(result);
		
		for (int i = 0; i < 10; i++) {
			int count=0;
			for (int j = 0; j < str.length(); j++) {
				if((str.charAt(j) - '0')== i) {
					count++;
				}
			}
			System.out.println(count);
		}

 

백준 문제에 있는 숫자의 개수 문제이다.

 

 

 

if문에 어떤 조건을 넣어야 할지 감이 도무지 안 잡혀 애를 좀 먹었다...ㅠㅠ

 

'Backend > JAVA' 카테고리의 다른 글

[JAVA] ServerSocket  (0) 2022.05.02
[JAVA] HashMap  (0) 2022.04.27
[JAVA] 상속(Inheritance)  (0) 2022.04.22
[JAVA] Singleton Pattern  (0) 2022.04.21
[JAVA] 간단한 도서 관리 프로그램  (0) 2022.04.20