最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

通过Java实现求水仙花数

互联网 admin 3浏览 0评论

通过Java实现求水仙花数

题目:用户输入一个数,判断是否是"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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实现求水仙花数

题目:用户输入一个数,判断是否是"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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是一个水仙花数

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

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论