초코딩(chocoding)

[CodeUp / java] 1082 : [기초-종합] 16진수 구구단? 본문

[Java] 알고리즘 문제풀이

[CodeUp / java] 1082 : [기초-종합] 16진수 구구단?

sweetychocoding 2023. 9. 3. 23:44
728x90
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String input = br.readLine();
		int numHex = Integer.parseInt(input, 16);

		for (int i = 0x1; i <= 0xf; i++) {
			System.out.printf("%X * %X = %X %n", numHex, i, numHex * i);
		}

	}
}

 

BufferedWriter을 선언했지만 번거로워서 쓰지 않고 printf를 사용하여 출력하였다.

그리고 bufferedwriter에도 printf같은 메서드가 있을 거 같다는 생각이 들었다.

 

내 친구 gpt가 알려줬당.

String.format 메서드를 사용하여 형식을 변환하고 바뀐 새로운 문자열을 bufferedwriter의 메서드인 write로 출력하면 되는 것이었다....!!!!!!!!!

 

땡큐 지피티!!

 

 

 

아래는 위에 String.format을 사용하여 바꾼 코드이다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String input = br.readLine();
		int numHex = Integer.parseInt(input, 16);

		for (int i = 0x1; i <= 0xf; i++) {
			String formattedResult = String.format("%X*%X=%X%n", numHex, i, numHex * i);
			bw.write(formattedResult);
		}
        
		bw.flush();
		bw.close();
	}
}

 

성공쓰~

728x90