利用栈实现整数的十进制转八进制java
时间: 2023-11-12 13:09:44 浏览: 76
好的,以下是利用栈实现整数的十进制转八进制的Java代码:
```java
import java.util.Scanner;
import java.util.Stack;
public class DecimalToOctalUsingStack {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个十进制整数:");
int decimal = sc.nextInt();
Stack<Integer> stack = new Stack<Integer>();
while(decimal != 0) {
int remainder = decimal % 8;
stack.push(remainder);
decimal /= 8;
}
System.out.print("转换为八进制数为:");
while(!stack.isEmpty()) {
System.out.print(stack.pop());
}
}
}
```
输入一个十进制整数,将其除以8取余数,并将余数入栈,直到商为0。最后,依次弹出栈中元素,即可得到该整数的八进制表示。
相关问题
利用栈实现整数的十进制转八进制用java实现
以下是利用栈实现整数的十进制转八进制的Java代码:
```java
import java.util.Stack;
public class DecimalToOctal {
public static void main(String[] args) {
int decimal = 123; // 待转换的十进制数
// 创建一个栈用于存储八进制数的每一位
Stack<Integer> stack = new Stack<>();
// 不断将十进制数除以8,将余数压入栈中
while (decimal != 0) {
int remainder = decimal % 8;
stack.push(remainder);
decimal /= 8;
}
// 依次弹出栈中的数字,组合成八进制数
StringBuilder octal = new StringBuilder();
while (!stack.isEmpty()) {
octal.append(stack.pop());
}
System.out.println("十进制数 " + decimal + " 转换为八进制数为 " + octal.toString());
}
}
```
运行结果为:
```
十进制数 123 转换为八进制数为 173
```
用java编写实现十进制整数转八进制的转换
可以使用以下代码实现十进制整数转八进制的转换:
```
public static String decimalToOctal(int decimal) {
int remainder;
String octal = "";
while (decimal > 0) {
remainder = decimal % 8;
octal = remainder + octal;
decimal = decimal / 8;
}
return octal;
}
```
这个方法接受一个十进制整数作为参数,返回一个字符串表示该整数的八进制表示。
阅读全文