[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