Java水仙花数

public class Demo_3 {
	public static void main(String[] args){
		/* /  %
		 * 案例:判断一个数字是否为水仙花数
		 *     水仙花数:3位数、每一为数字的三次方的和等于它本身,那么这个数字就是水仙花数
		 *     eg:153
		 *         百:1   153/100=1
		 *         十:5   153%100/10=5 [53/10=5]
		 *         个:3   153%100%10=3 [53%10=3]
		 *         1^3 + 5^3 + 3^3 == 153【水仙花数】
		 *    问题关键:怎们去获取这个三位数字的每一个位置上的数字
		 * 案例:输出100-1000以内的水仙花数
		 *     for循环
		 *     语法:
		 *     for(起始值;终止值;迭代){代码操作}
		 *     起始值:100
		 *     终止值:1000
		 *     迭代:每一次循环之后让起始值+1
		 *          i++ 表示自增运算符【每一次循环结束之后让自身+1】
		 *     for(int i=100;i<1000;i++){}
		 * */
		int num = 153;
		int b = num/100;//百位
		int s = num%100/10;//十位
		int g = num%100%10;//个位
		System.out.println("百位:" + b + ",十位:" + s + ",个位:" + g);
		/*
		 * Math java类
		 * pow(double a, double b) 方法
		 * double a,double b 是参数
		 * a:表示要求哪一个数字的b次方
		 * b:表示求a这个数字的几次方
		 * Math.pow(2,3) 2的3次方 调用方法 等同于:2*2*2
		 * */
		if((Math.pow(b, 3)+Math.pow(s, 3)+Math.pow(g,3)) == num){
			System.out.println( num + "是水仙花数");
		}else {
			System.out.println("不是水仙花数");
		}
		// 输出100-1000以内的水仙花数
		int b_1;// 声明一个变量
		int s_1;
		int g_1;
		System.out.println("100-1000以内的水仙花数为:");
		for(int i = 100;i<1000;i++){
			b_1 = i/100;
			s_1 = i%100/10;
			g_1 = i%100%10;
			if((Math.pow(b_1, 3)+Math.pow(s_1, 3)+Math.pow(g_1,3)) == i){
				System.out.print(i + "\t");
			}
		}
	}
}

相关文章

100个Java工具类之66:处理数字和格式的类ChoiceFormat

ChoiceFormat类,是Java中用于处理数字和格式的类。它允许将格式化字符串附加到一定范围内的数字。它通常被用在MessageFormat中,作用是处理复数形式的消息。下面通过几个使用实例来更...

Java中常用的单目运算符及用法详解

我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的...

在Java中找出1到n个数字之间的重复数

给出一个长度为n+1的列表,它的数值范围从1到n,其中一个数字是重复的,你必须找到重复的数字。这个问题非常类似于在数组中查找缺少的数字。在这篇文章中,我将分享一个java程序和算法,以找到1到n个数字...

Java switch case语句详解

if…else 语句可以用来描述一个“二岔路口”,我们只能选择其中一条路来继续走,然而生活中经常会碰到“多岔路口”的情况。switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中...

教程3 猜数字游戏

一、项目简介猜数字游戏是一个简单,有趣的小游戏。游戏者通过输入一个指定区间的数字,与系统产生的随机数进行对比,然后输出相应的结果。若输入的数字比产生的数字小,则输出:“太小了,再大一点!”;若输入的数...