当前位置:网站首页>每日练习------输出一个整数的二进制数、八进制数、十六进制数。
每日练习------输出一个整数的二进制数、八进制数、十六进制数。
2022-07-30 05:34:00 【北柠陌语】
题目:输出一个整数的二进制数、八进制数、十六进制数。
解题关键:清楚每个进制之间的转换;转换完一个进制之后需要重新设置一遍初始值
思路:1)输出一个整数
2)重新设置num10,不然在每次转换完一次进制后,num10都会变成0
3)二进制转换
4)八进制
5)十六进制
过程: 接下来我们根据我们的解题思路来一步步写代码
第一种方法:
1)输出一个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int num10 = sc.nextInt();
2)重新设置num10,不然在每次转换完一次进制后,num10都会变成0
int a = num10;
int b = num10;
int c = num10;
System.out.println("您输入的整数为:" + num10);
3)二进制转换
String er = "";
while (a != 0) {
er = " " + a % 2 + er;//每个位置的数字用空格隔开再连接
a = a / 2;
}
System.out.println("二进制为:" + er);
4)八进制
String ba = "";
while (b != 0) {
ba = " " + b % 8 + ba;//每个位置的数字用空格隔开再连接
b = b / 8;
}
System.out.println("八进制为:" + ba);
5)十六进制
String shiliu = "";
while (c != 0) {
6)判断余数为10,11,12,13,14,15时的情况
if(c%16==10){
shiliu = " " + "A" + shiliu;
}else if(c%16==11){
shiliu = " " + "B" + shiliu;
}else if(c%16==12){
shiliu = " " + "C" + shiliu;
}else if(c%16==13){
shiliu = " " + "D" + shiliu;
}else if(c%16==14){
shiliu = " " + "E" + shiliu;
}else if(c%16==15){
shiliu = " " + "F" + shiliu;
}else{
shiliu = " " + c%16 + shiliu;
}
c = c / 16;
}
System.out.println("十六进制为:" + shiliu);
完整结果如下:

为了方便大家使用,下面附上源码:
//1)输出一个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int num10 = sc.nextInt();
//2)重新设置num10,不然在每次转换完一次进制后,num10都会变成0
int a = num10;
int b = num10;
int c = num10;
System.out.println("您输入的整数为:" + num10);
// 3)二进制转换
String er = "";
while (a != 0) {
er = " " + a % 2 + er;//每个位置的数字用空格隔开再连接
a = a / 2;
}
System.out.println("二进制为:" + er);
// 4)八进制
String ba = "";
while (b != 0) {
ba = " " + b % 8 + ba;//每个位置的数字用空格隔开再连接
b = b / 8;
}
System.out.println("八进制为:" + ba);
// 5)十六进制
String shiliu = "";
while (c != 0) {
//6)判断余数为10,11,12,13,14,15时的情况
if(c%16==10){
shiliu = " " + "A" + shiliu;
}else if(c%16==11){
shiliu = " " + "B" + shiliu;
}else if(c%16==12){
shiliu = " " + "C" + shiliu;
}else if(c%16==13){
shiliu = " " + "D" + shiliu;
}else if(c%16==14){
shiliu = " " + "E" + shiliu;
}else if(c%16==15){
shiliu = " " + "F" + shiliu;
}else{
shiliu = " " + c%16 + shiliu;
}
c = c / 16;
}
System.out.println("十六进制为:" + shiliu);第二种方法:
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
System.out.println("你输入的整数" + num + "转换为二进制为:" + Integer.toBinaryString(num));
System.out.println("你输入的整数" + num + "转换为八进制为:" + Integer.toOctalString(num));
System.out.println("你输入的整数" + num + "转换为十六进制为:" + Integer.toHexString(num));总结:
这道题有俩种解题方法,第二种方法比较简单是Java种自带的程序,直接引用就可以了,第一种方法是不通过系统自动的程序写,虽然比较麻烦,但大家也是需要理解的,这样对培养我们的编程思想有很大帮助.
明日练习:生成13位条形码
Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
大家可以自己写写,明天中午12点我准时发出我的写法哦,明天12点不见不散
一生朋友一生情,一生有你才会赢;千山万水总是情,点个关注行不行!

边栏推荐
- My first understanding of MySql, and the basic syntax of DDL and DML and DQL in sql statements
- MySQL的存储过程
- Participate in open source, let programmers regain their blood and passion
- CISP-PTE Zhenti Demonstration
- MySql模糊查询大全
- MySQL索引常见面试题(2022版)
- 【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)
- This article will take you through js to deal with the addition, deletion, modification and inspection of tree structure data
- cnpm安装步骤
- 程序员大保健指南,给自己的身心偶尔放松的机会
猜你喜欢
随机推荐
【图像处理】基于中轴变换实现图像骨架提取附matlab代码
ClickHouse data insert, update and delete operations SQL
ugly programmer
MySQL (2)
Mysql8.+学习笔记
报错:npm ERR code EPERM
MYSQL-InnoDB的线程模型
net start mysql MySQL service is starting. MySQL service failed to start.The service did not report any errors.
号称年薪30万占比最多的专业,你知道是啥嘛?
程序员大保健指南,给自己的身心偶尔放松的机会
navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password YES)
MySql fuzzy query Daquan
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
【图像检测】基于灰度图像的积累加权边缘检测方法研究附matlab代码
JVM之GC 调优基础知识(一)
Seata异常:endpoint format should like ip:port
2022年SQL大厂高频实战面试题(详细解析)
An old programmer's summary review of 2020, how to become more awesome in 2021
微信小程序开发学习
JVM 内存结构 超详细学习笔记(一)


![[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及](/img/ac/80ab67505f7df52d92a206bc3dd50e.png)






