java怎样将十进制转为八进制的数的编码

Python011

java怎样将十进制转为八进制的数的编码,第1张

十进制转八进制最简单的方法

System.out.println("10的八进制="+Integer.toOctalString(10))

扩展

十进制转二进制、八进制、十六进制

System.out.println("10的二进制="+Integer.toBinaryString(10))

System.out.println("10的八进制="+Integer.toOctalString(10))

System.out.println("10的十六进制="+Integer.toHexString(10))

10的二进制=1010

10的八进制=12

10的十六进制=a

import java.util.Scanner

import java.util.Stack/**

* 将十进制数转换为八进制数

*

* @author austin

*/

public class DecimalToOctalConvertor { /**

* @param args

*/

public static void main(String[] args) {

/*

* 接收一个用户从通过键盘输入的整数,作为要转换的十进制数

*/

Scanner reader = new Scanner(System.in)

System.out.print("请输入要转换的十进制数:")

int decimalNum = reader.nextInt() /*

* 采用除8取余,从下至上的算法来计算八进制数:即用进制数除以8,然后将所得余数作为8进制数的低位数,再用所得的商继续除以8,以此类推,直到商为0为止

* 在这个过程中,每次的余数都需要保存到一个列表中,而且后添加到列表中的元素要先输出,即后进先出,因此采用栈结构来处理

*/

Stack<Integer>octalStack = new Stack<Integer>()

int temp = decimalNum

do {

octalStack.push(temp % 8)// 将除以8所得的余数添加到栈中

temp /= 8// 计算除以8所得的商

}

while (temp != 0)// 如果商不为0,则继续计算下去 /*

* 采用后进先出的方式输入栈中的元素,就得到了所要求的八进制数

*/

System.out.print("八进制:0")

while (!octalStack.isEmpty()) {

System.out.print(octalStack.pop())

}

System.out.println()

}

}