首页 > 编程语言 >JAVA——水仙花数问题

JAVA——水仙花数问题

时间:2024-07-12 16:55:33浏览次数:17  
标签:JAVA Scanner pow 问题 nextInt java 水仙花 Math scanner

2024/07/12
1.问题
2.错误解法
3.错误分析
4.正确解法
5.其他:关于Java中幂函数的用法
6.参考

1.问题

2.错误解法

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = nextInt();
		**if (A>=100&&a<=999)**
		{
		    int a = A/100%10;
		    int b = A/10%10;
		    int c = A%10;
		    **if (A==pow(a,3)+pow(b,3)+pow(c,3))**
		    {
		        System.out.println("1");
		    }
		    else
		    {
		        System.out.println("0");
		    }
		}
		else
		{
			System.out.println("您输入的不是三位数!");
		}
	}
}

3.错误分析

  • nextInt() 方法应该由 scanner 调用,而不是直接调用 nextInt()
  • 在判断条件中,变量a的使用有误,应该是 A
  • pow 函数在Java中不是直接可用的,需要使用 Math.pow 方法。

4.正确解法

import java.util.Scanner;
import java.lang.Math; // 导入Math类以使用pow函数

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);// 使用scanner调用nextInt()
		int A = scanner.nextInt();
        //变量A是一个三位数
		if (A >= 100 && A <= 999)
		{
		    int a = A/100%10;
		    int b = A/10%10;
            int c = A%10;
		    //A为int类型,使用Math.pow计算立方和后,强制转换为int类型后才能与A做比较
		    if (A == (int)(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)))
		    {
		        System.out.println("1");
		    }
		    else
		    {
		        System.out.println("0");
		    }
		}
		else
		{
			System.out.println("您输入的不是三位数!");
		}
		 scanner.close(); // 关闭scanner
	}
}

5.其他:关于Java中幂函数的用法

* import java.lang.Math; // 应先导入导入Math类以使用pow函数。
* Math.pow(a,3)//表示a的三次方。

6.参考
https://blog.csdn.net/bbDreamdotrue/article/details/113410365

标签:JAVA,Scanner,pow,问题,nextInt,java,水仙花,Math,scanner
From: https://www.cnblogs.com/lidadudu/p/18298857

相关文章

  • java集合工具类
    java集合工具类importjava.util.Collection;importjava.util.List;importjava.util.function.Consumer;importjava.util.stream.Collectors;publicclassCollUtil{/***集合是否为空**@paramcollection集合*@return是否为空......
  • Java中的方法重写详解
    Java中的方法重写详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!1.方法重写的定义和特点方法重写(MethodOverriding)是指子类可以重写父类的同名方法,以便于子类根据自身特定的需求来实现方法的具体行为。重写方法必须具有相同的方法签名,即方法名、......
  • Java中的final关键字详解
    Java中的final关键字详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!1.final关键字的基本用法在Java中,final关键字可以用来修饰类、方法和变量,具有不同的含义和作用。下面我们逐一介绍其在各个方面的应用。2.final修饰类当一个类被final修饰时,表......
  • 高级java每日一道面试题-2024年7月12日
    如果有遗漏,评论区告诉我进行补充面试官问:你对IO流了解多少我回答:一.什么是JavaIO流?回答:JavaIO流是用于处理输入和输出操作的一组类和接口。它允许程序从不同的数据源(如文件、网络连接、内存缓冲区等)读取数据或将数据写入到不同的目标位置。IO流分为字节流和......
  • Java计算机毕业设计康养管理系统的设计与实现(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着人口老龄化的加速和社会对健康生活品质需求的日益增长,康养产业迎来了前所未有的发展机遇。传统的医疗护理模式已难以满足人们多元化、个性化的健......
  • Java计算机毕业设计高校多媒体教室管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着教育信息化的深入发展,高校多媒体教学已成为提升教学质量、丰富教学手段的重要手段。然而,传统的高校多媒体教室管理往往依赖于人工调度与维护,面临......
  • librdkafka 常见问题FAQ
    1,++librdkafka一个消费者实例分配了所有分区不提交位点,在发生rebalance后,会重新从头消费数据吗在发生重新平衡(rebalance)后,消费者会从哪里开始消费数据取决于消费者组的配置,特别是auto.offset.reset配置项。关键配置项:auto.offset.resetauto.offset.reset决定了在没有有......
  • 一、java的简单介绍
    Java语言Java是一门面向对象的程序设计语言,在语法上Java与C和C++类似,但丢弃了其相对难理解的一些特性,如操作符重载、多继承、自动的强制类型转换,同时Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。Java中最主要的是Java虚拟机(Jav......
  • uniform_filter1d之nearest模式基于JAVA编程实现
    1privatestaticDouble[]uniform_filter1d_double_fast(Double[]input,intsize){2Double[]output=newDouble[input.length];3//https://github.com/scipy/scipy4//‘nearest’(aaaa|abcd|dddd)5bool......
  • JavaScript进阶(四)---js解构
    目录一.定义:二.类型:1.数组解构:1.1变量和值不匹配的情况1.2多维数组2.对象解构3.对象数组解构4.函数参数解构5.扩展运算符一.定义:JavaScript中的解构(Destructuring)是一种语法糖,它允许我们从数组或对象中提取数据,并将这些数据赋值给新的变量。解构使得代码更......