当前位置:网站首页>[Output each bit of an integer, from high to low.With and without recursion]
[Output each bit of an integer, from high to low.With and without recursion]
2022-08-03 10:53:00 【DJL_new_life】
The future is scary but you can’t just run to the past cause it’s familiar.
未来会让人心生畏惧,但是我们却不能因为习惯了过去,就逃去过去.
题目:输出一个整数的的每一位,由高到低输出
这道题正常的思路是使用递归的方法去写,但是我在这里没有使用递归的方法去写.
思路是:假设判断出这个整数是一个n位的数字,再使用这个整数去除10^(n-1),就可以去掉除了最高位的数字,得到最高位,再对于这个整数取模10^(n-1),得到除了最高位以外的数字,重复进行以上操作
以下是完整代码:
import java.util.Scanner;
/** * 输出一个整数的每一位,如:123的每一位是1 , 2 , 3 * 从高位到低位输出 */
public class OutHignNums {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:");
int a = scanner.nextInt();
int ret = a;
int i = 1;
//算出这个数有几位
while(ret/10 != 0){
ret = ret/10;
i++;
}
//只有一位数时,直接输出,无需进行下面的代码
if(i == 1){
System.out.println(a);
return;
}
for (int j = i-1; j >= 0; j--) {
double tens = Math.pow(10,j);
int num = (int)(a/tens); //得到最高位的数,此时a没有发生改变
//tens是double类型,需要强制类型转换为int,消除小数.
//否则得到的数字是小数,小数点后跟着低位的数
//每次输出整数的最高位
System.out.print(num + " ");
a = (int)(a % tens); //得到去掉最高位的数,继续下次循环
}
}
}
使用递归来解决输出一个整数的的每一位,由高到低输出.
public class Test2 {
public static void main(String[] args) {
prin(3239);
}
public static void prin(int a){
if(a > 9){
prin(a/10);
}
System.out.println(a%10);
}
}
递归的思路:
终止的条件是当 a<= 9时,输出a%10,程序结束.
if(a > 9){
prin(a/10);
}
这段代码的意思是:
当a > 9时,不断的调用自身函数,传入丢掉个位的数.直到a<= 9,结束调用自身函数.
可能代码写的不是很好,希望兄弟们不要介意
边栏推荐
- Apache Doris系列之:数据模型
- 创建C UDR时,指定的HANDLESNULLS的作用是什么?
- Basic using MySQL database
- Mysql OCP 74 questions
- MATLAB程序设计与应用 2.7 结构数据与单元数据
- numpy
- Babbitt | Metaverse daily must-read: Players leave, platforms are shut down, and the digital collection market is gradually cooling down. Where is the future of the industry?...
- Regulation action for one hundred days during the summer, more than 700 traffic safety hidden dangers were thrown out
- 完全背包问题的思路解析
- 历史拉链数据处理有人做过吗
猜你喜欢
用于发票处理的 DocuWare,摆脱纸张和数据输入的束缚,自动处理所有收到的发票
Regulation action for one hundred days during the summer, more than 700 traffic safety hidden dangers were thrown out
How to retrieve IDC research reports?
孙宇晨式“溢价逻辑”:不局限眼前,为全人类的“星辰大海”大胆下注
月薪没到35K的程序员必须要背的面试八股,我先啃为敬!
被审稿人吐槽没有novelty!深度学习方向怎么找创新点?
混合型界面:对话式UI的未来
像用户体验设计师一样思考
【Star项目】小帽飞机大战(九)
CADEditorX ActiveX 14.1.X
随机推荐
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
嵌入式软件组件经典架构与存储器分类
Interview Blitz 71: What's the difference between GET and POST?
DOM对象能干什么?
Who is more popular for hybrid products, depending on technology or market?
oracle计算同、环比
GBase 8c分布式数据库,数据如何分布最优?
CADEditorX ActiveX 14.1.X
Cross-chain bridge protocol Nomad suffers hacker attack, losing more than $150 million
混动产品谁更吃香,看技术还是看市场?
从餐桌到太空,孙宇晨的“星辰大海”
被审稿人吐槽没有novelty!深度学习方向怎么找创新点?
Leecode-SQL 1484. 按日期分组销售产品
How to make self-introduction
请问应该用什么关键字将内容主题设置为 dark 呢
【AppCube】数字孪生万物可视 | 联接现实世界与数字空间
智能合约是什么?
QT with OpenGL(HDR)
深度学习经典网络 -- Inception系列(稀疏结构)
What is the IDE?Novice with which the IDE is better?