通过Java实现求水仙花数「建议收藏」

通过Java实现求水仙花数「建议收藏」用户输入一个数,判断是否是”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。程序同用户交互是通过Scanner来实现的,jdk中封装了一个类Scanner,该类的职责就是接收键盘的输入值,并保存到程序的变量中,体现了程序和用户的交互功能,适合新手学习。

大家好,又见面了,我是你们的朋友全栈君。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157114.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月8日 上午6:46
下一篇 2022年7月8日 上午7:00


相关推荐

  • stringbuild和stringbuffer的区别_string和stringbuilder的区别

    stringbuild和stringbuffer的区别_string和stringbuilder的区别JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候你就可以使用 StringBuffer.典型地,你可以使用 StringBuffers来动态构造字符数据.一、String的使用方法:

    2026年2月8日
    6
  • 《JavaScript 模式》读书笔记(4)— 函数1[通俗易懂]

    从这篇开始,我们会用很长的章节来讨论函数,这个JavaScript中最重要,也是最基本的技能。本章中,我们会区分函数表达式与函数声明,并且还会学习到局部作用域和变量声明提升的工作原理。以及大量对API

    2022年3月25日
    45
  • java base64encoder包_Base64Encoder.java

    java base64encoder包_Base64Encoder.java/***Base64编码解码*可以对二进制数据生成URL安全的字符串***/publicclassBase64EncoderimplementsEncoder{/***对字节数据进行Base64编码*@paramsrc源字节数组*@return编码后的字符串*/publicStringencode(byte[]src)throwsException{String…

    2022年6月15日
    59
  • 多线程锁有几种类型_进程同步和互斥概念

    多线程锁有几种类型_进程同步和互斥概念一、同步与互斥的概念  现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源;多个任务之间有依赖关系,某个任务的运行依赖于另一个任务。【同步】:  是指散步在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。最基本的场景就是:两个或两个以…

    2022年8月12日
    11
  • ps磨皮滤镜插件Portraiture 3

    ps磨皮滤镜插件Portraiture 3Photoshop必备滤镜插件,Portraiture3formac(ps磨皮滤镜插件)是一款支持自动皮肤平滑、愈合和增强效果的磨皮插件,portraiture3主要针对人像进行皮肤修饰、磨皮润色等处理,还可以平滑和去除缺陷,同时保留皮肤纹理和重要的人像细节,功能十分强大,安装即为激活成功教程版。ps磨皮滤镜插件特色介绍Photoshop的画像消除了选择性蒙版和逐像素处理的繁琐的手工劳动,以帮助您在肖像修饰中实现卓越。Imagenomic发布了Photoshop的磨皮滤镜Portraiture

    2022年7月22日
    19
  • SQL中的coalesce函数

    SQL中的coalesce函数coalesce arg1 arg2 arg3 arg4 nbsp nbsp nbsp nbsp nbsp 该函数的含义是返回最近的一个为非空值的值 例 nbsp nbsp nbsp nbsp nbsp 1 coalesce 1 2 3 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp return1 nbsp nbsp nbsp nbsp 2 coalesce null 2 3 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp return2 nbsp nbsp nbsp nbsp 3 coalesc

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号