Java基础--取任意一个整数的各个位的数值


整体思路:循环拿这个数对10取余,再除以10,判断是不是0

while (num > 0) {
    int v = num%10;
    num /= 10;
}

  案例:

* 需求:在控制台输出所有的”水仙花数”

* 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
* 举例:153就是一个水仙花数。
* 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

 

	public static void main(String[] args) {
		int countAll = 0;
		// 水仙花数
		for(int i=100; i<1000; i++) {
			int num = i;	//数值
			int result = 0;	//各个位三次方相加后的数值
			while (num > 0) {
				int v = num%10;
				result += v*v*v;
				num /= 10;
			}
			if (result == i) {
				countAll ++;
				System.out.println("第"+countAll+"个水仙花数为:"+result);
			}
		}
	}

  //结果:

//第1个水仙花数为:153
//第2个水仙花数为:370
//第3个水仙花数为:371
//第4个水仙花数为:407


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM