题目:用户输入一个数,判断是否是"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

  • 1.导包(作为当前类的引用)
import java.util.Scanner;

jdk中封装了一个类Scanner,该类的职责就是接收键盘的输入值,并保存到程序的变量中,体现了程序和用户的交互功能。

  • 2.创建对象
Scanner sc=new Scanner(System.in);//在输入Scanner时,按住回车键会自动导入上面的包
  • 3.对象调用方法来接收输入值
int X=sc.nextInt();//X是用户输入的数
  • 4.先求出各位数上的数字

这里我们需要用到两个运算符:/和%

“/”在数学中是除的意思,但在Java中却是作为一种运算符,用来取整。用法为:比如3/2,在数学中是3/2=1.5,但在Java中3除以2等于1,因为取整,后面的小数0.5会被程序舍弃。
“%”平常是一种百分号,但在Java中也是作为一种运算符,用来取模。用法为:比如10%3为3余1,此时程序生成的结果就是1.

     int a,b,c,sum;//定义几个变量a=X/100;//得到百位上的数字b=X%100/10;//得到十位上的数字c=X%100%10;//取模得到个位上的数字
  • 5.求各位数的立方之和
sum=a*a*a+b*b*b+c*c*c;
  • 6.通过if…else语句判断各位数字立方和是否等于该数本身
     if (sum==X){//如果用户输入的数x与各位数字立方相等,该数即为水仙花System.out.println(X+"是水仙花数" );}else如果用户输入的数x与各位数字立方不等,该数就不是水仙花System.out.println(X+"不是水仙花数");

完整代码展示如下:

import java.util.Scanner;public class Narcissus {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入一个数:");int X=sc.nextInt();int a,b,c,sum;a=X/100;b=X%100/10;c=X%100%10;sum=a*a*a+b*b*b+c*c*c;if (sum==X){System.out.println(X+"是水仙花数" );}elseSystem.out.println(X+"不是水仙花数");}

测试一下:

请输入一个数:
153
153是水仙花数
请输入一个数:
123
123不是水仙花数

其实,水仙花数也就那么几个,我们不妨用循环求出所有的水仙花数

//要求输入所有的水仙花数(其实就是从100到999之间的,已经给定了的)
public class TestNarcissus {public static void main(String[] args) {for(int i =100;i<=999;i++) {//保证是一个三位数,这是前提条件int a=i/100;int b=i%100/10;int c=i%100%10;int sum=a*a*a+b*b*b+c*c*c;if (sum==i){System.out.println(i+"是一个水仙花数");}}}
}
//原理和上面的一样,就是加个for循环

输出一下看看:

153是一个水仙花数
370是一个水仙花数
371是一个水仙花数
407是一个水仙花数

以上就是全部的水仙花数了

通过Java实现求水仙花数相关推荐

  1. 用java求水仙花数,适合新手

    用java求水仙花数,适合新手 package cn.sxt; /*** * 求100到999之间的水仙花数.* 水仙花数的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 ...

  2. java 求水仙花数

    1.什么是水仙花数? 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿 ...

  3. 怎样用Java求水仙花数和水仙花数的数量

    首先我们了解一下水仙花数的定义: 一个各个位上的数字三次方之和等于他本身的三位数 因此,为了求水仙花数,我们的程序会有以下几个需求: 1.首先表示出所有的三位数(用循环表示,这里用for循环示例) 2 ...

  4. 使用Java输出所有水仙花数

    使用Java输出所有水仙花数 所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身. 例如: 153 = 1x1x1+5x5x5+3x3x3 所以水仙花数应为一个三位数,输出范围便是[100,1 ...

  5. C++中如何读取一个数的位数_C语言编写程序求水仙花数

    C语言编写程序求水仙花数 水仙花数是一个数学问题,其实质是一个三位数,个位数的立方加十位数的立方加百位数的立方之和等于这个三位数本身.例如153=1*1*1+5*5*5+3*3*3,即153=1+12 ...

  6. python基础练习题(按条件对指定序列求和,打印99乘法表、求斐波那契数列、百马百担、求水仙花数、求n以内的所有质数(素数)和)、集合的讲解、一些公关方法

    1.求100(含100)以内所有偶数的和 range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和 ...

  7. 水仙花数c语言程序解析,C语言求水仙花数代码解析

    原标题:C语言求水仙花数代码解析 水仙花数 "水仙花数"又称为"阿姆斯特朗数".如果一个n(n≥3)位数的各位数字的n次幂之和等于该数本身,则该数称为" ...

  8. 用Java写一个水仙花数算法

    水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身.例如:153=1^3+5^3+3^3. 以下是用 Java 写的水仙花数算法: public class Narcissisti ...

  9. C语言编程:求水仙花数。输入一个正整数n,计算n位水仙花数。

    /*求水仙花数.输入一个正整数n,计算n位水仙花数.*/ #include<stdio.h> //编译预处理命令int mypow (int x, int n); //声明自己的幂函数in ...

最新文章

  1. 计组--习题--总线
  2. Swift3.0语言教程使用指针创建和初始化字符串
  3. MySQL 5.5单实例 编译安装
  4. 650 storm 铃木v_铃木公升级V缸拉力V-strom 1050国内公布!高配版预售价14.98万
  5. LaTEX、 Aurora、 markdown常用数学符号
  6. java垃圾回收根对象_Java垃圾回收怎么理解?
  7. wxWidgets:布局窗口/窗扇示例
  8. window10系统 同时安装支持 jdk 1.7和1.8环境
  9. smarty变量调节器
  10. 个人笔记 vue npm redis
  11. poj1161Post Office【经典dp】
  12. ios uitableview 积累
  13. web小说目录倒序php实现,php实现WEB在线文件管理器
  14. Cannot render error page for request [/list.html] and exception [An error happened during template p
  15. 在线升级R语言版本以及在RStudio容纳最新版本的R
  16. echarts警告:Can‘t get DOM width or height. Please check dom.clientWidth and dom.clientHeight. ........
  17. TFS2010删除团队项目
  18. 微服务(SpringCloud)入门项目——外卖订单系统
  19. Java 阿里云短信服务的集成
  20. 1.Android高仿网易云音乐-启动界面实现和动态权限处理

热门文章

  1. python网站开发教程,python在线编程网站
  2. git的安装与配置教程-超详细版
  3. C语言外卖订单管理系统上班,外卖订单管理系统
  4. 一幅长文细学GaussDB(二)——数据库基础知识
  5. 智能化推送服务MobPush产品简介
  6. hiredis使用简介
  7. 【OpenCV--角点特征】
  8. 计算机应用基础教师授课视频,利用微课促进《计算机应用基础》教学的有效途径...
  9. 阿里巴巴离职DBA 35岁总结的职业生涯(转)
  10. 【物联网】物联网开发从入门到精通