当前位置:网站首页>【输出一个整数的的每一位,由高到低输出。使用递归和不使用递归】
【输出一个整数的的每一位,由高到低输出。使用递归和不使用递归】
2022-08-03 10:49: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,结束调用自身函数。
可能代码写的不是很好,希望兄弟们不要介意
边栏推荐
- Skills required to be a good architect: How to draw a system architecture that everyone will love?What's the secret?Come and open this article to see it!...
- 【学习笔记之菜Dog学C】通讯录
- How to deal with this time of MySQL binlog??
- Leecode-SQL 1527. 模糊查询匹配(模糊查询用法)
- Apache Doris系列之:数据模型
- 什么是IDE?新手用哪个IDE比较好?
- 被审稿人吐槽没有novelty!深度学习方向怎么找创新点?
- 跨链桥协议 Nomad 遭遇黑客攻击,损失超 1.5 亿美元
- 如何改变sys_guid() 返回值类型
- 如何检索IDC研究报告?
猜你喜欢

图新地球为什么很模糊,白球、看图、下载问题深度剖析

HCIP第十七天笔记

干货!一种被称为Deformable Butterfly(DeBut)的高度结构化且稀疏的线性变换

Why is the new earth blurred, in-depth analysis of white balls, viewing pictures, and downloading problems

再谈“雷克萨斯”安全装置失效!安全手册疑点重重,网友:细思极恐

SAP 电商云 Spartacus UI 的 External Routes 设计明细

跨链桥协议 Nomad 遭遇黑客攻击,损失超 1.5 亿美元

成对连接点云分割

ECCV2022 | RU&谷歌:用CLIP进行zero-shot目标检测!

聊天app开发——防炸麦以及节省成本的内容鉴定方法
随机推荐
训练双塔检索模型,可以不用query-doc样本了?明星机构联合发文
巴比特 | 元宇宙每日必读:玩家离场,平台关停,数字藏品市场正逐渐降温,行业的未来究竟在哪里?...
面试官:工作两年了,这么简单的算法题你都不会?
HCIP第十七天笔记
Who is more popular for hybrid products, depending on technology or market?
混合型界面:对话式UI的未来
以网强算,中国移动算网建设激发澎湃能量
阿里本地生活全域日志平台 Xlog 的思考与实践
8 月数据库排行榜:Oracle 分数大跌,MySQL 上涨最多
type=“module“ 你了解,但 type=“importmap“ 你知道吗
This article understands the process from RS485 sensor to IoT gateway to cloud platform
深度学习经典网络 -- Inception系列(稀疏结构)
Mysql OCP 75 questions
4G采集ModbusTCP转JSON接MQTT云平台
Question G: Word Analysis ← Questions for the second provincial competition of the 11th Blue Bridge Cup Competition
机器学习(公式推导与代码实现)--sklearn机器学习库
【AppCube】数字孪生万物可视 | 联接现实世界与数字空间
多态详细讲解(简单实现买票系统模拟,覆盖/重定义,多态原理,虚表)
关于OPENSSL的问题
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...