JAVA | Char 형을 Int형으로 변형 : Character.getNumericValue()

728x90

🟦 JAVA | Char 형을 Int형으로 변형

Character.getNumericValue()

  • String[] 배열로 받은 문자열을 int[] 배열로 나눠주고 싶었는데, 이 부분이 생각이 안났다.

[코테 당시 내 풀이]

  1. 각 String 문자열을 toCharArray() 로 char[] 배열로 바꿔준 뒤
  2. char[]의 각각의 값을 int[] 형으로 변형할 때 값 변경이 기억이 안나서

다시 String.valueOf(char형) 한 뒤, → Integer.parseInt() 로 바꿔주는 등 번거롭게 풀었다.

public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		String[] arr = {"011001", "101011", "111111", "011001"};
		
		int N= arr.length;
		int M = arr[0].length();
		//얘를 int[][] 로 바꿔주고 싶었음
		int[][] A = new int[N][M];
		
		for(int i=0; i<N; i++) {
			char[] tmp = arr[i].toCharArray();
			for(int j=0; j<M; j++) {
				A[i][j] = Integer.parseInt(String.valueOf(tmp[j]));
			}
		}
		
	}

[깔끔하게 다시 풀기] char → int : Character.getNumericValue()

public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		String[] arr = {"011001", "101011", "111111", "011001"};
		
		int N= arr.length;
		int M = arr[0].length();
		//얘를 int[][] 로 바꿔주고 싶었음
		int[][] A = new int[N][M];
		
		for(int i=0; i<N; i++) {
			char[] tmp = arr[i].toCharArray();
			for(int j=0; j<M; j++) {
				//Character.getNumericValue() 했으면 끝날 일 
				A[i][j] = Character.getNumericValue(tmp[j]);
			}
			System.out.println();
		}
	}
728x90