使用java语言从键盘上输入十进制正整数n,利用循环将其转换为八进制数
时间: 2024-02-13 16:59:52 浏览: 158
java_十进制数转换为二进制,八进制,十六进制数的算法
5星 · 资源好评率100%
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class DecimalToOctal {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个十进制正整数:");
int decimal = input.nextInt();
int octal = 0, i = 1;
while (decimal != 0) {
octal += (decimal % 8) * i;
decimal /= 8;
i *= 10;
}
System.out.println("转换为八进制数为:" + octal);
}
}
```
代码思路:
1. 首先导入Scanner类,用于从键盘上读取用户输入的数据;
2. 通过Scanner类的nextInt()方法,读取用户输入的十进制正整数n;
3. 定义两个变量octal和i,其中octal用于保存转换后的八进制数,i用于表示八进制数的位数,初始值为1;
4. 使用while循环,当十进制数不为0时,执行循环体内的代码:
a. 计算余数并将其乘以i,加到octal中;
b. 将十进制数除以8,向下取整;
c. 将i乘以10,表示八进制数的下一位;
5. 循环结束后,输出转换后的八进制数octal。
需要注意的是,该代码未对用户输入的数据进行验证,如果用户输入的不是十进制正整数,则会出现异常,因此在实际开发中需要做好异常处理。
阅读全文