编程,输入一个10进制正整数N(取值范围:0<N<1000),然后输出它所对应的八进制(模除取余,不得直接转换输出)java
时间: 2023-12-25 10:05:44 浏览: 21
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取输入的十进制正整数
int n = scanner.nextInt();
// 存储八进制数
int octal = 0;
// 存储位权值
int weight = 1;
// 不断对 n 进行模除取余,直到 n 为 0
while (n != 0) {
// 取 n 的最后一位
int digit = n % 8;
// 更新 n,去掉最后一位
n /= 8;
// 更新八进制数
octal += digit * weight;
// 更新位权值
weight *= 10;
}
// 输出八进制数
System.out.println(octal);
}
}
```
输入一个十进制正整数后,程序会不断对其进行模除取余,每次得到的余数就是该位上的八进制数,同时更新八进制数的值。最后输出八进制数即可。