需要对输入的数字进行判断,如果输入的是0则输出不需要在0的前边拼接0,只有输入的不是0的时候才需要在输出的结果前边加上0(善意提醒:如果不加判断,则结果之能是66分,亲测。。。)
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; public class Main { public static void main(String[] args) throws IOException { // 创建输入流 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line = reader.readLine(); // 读取数字 // 进制转换 if(line.equals("0")) { System.out.println(change(line, 10, 8)); } else { System.out.println("0" + change(line, 10, 8)); } } /* * 利用BigInteger进行进制转换 * number: 要进行转换的数字 * x: 规定number的进制 * y: 目的进制(需要输出的进制) */ private static String change(String number, int x, int y) { return new BigInteger(number, x).toString(y); } }