JAVA编水仙花数
发布网友
发布时间:2022-05-18 23:02
我来回答
共4个回答
热心网友
时间:2023-11-18 06:32
public void isNumber(int num)
{
String numm=""+ num;//首先把你输入的整型数转换成字符类型
int len=numm.length();//得到你输入的数的个数(你要判断的数是三位数、四位数、、、)
int [] nums=new int [len];//声明一个数组来保存输入的这个数分别拆分后的单个值,如153 (1、5、3)
int temp=0,i=0;
while(num>10)//用循环分别把这个位的每个位上的值保存在数组中
{
nums[i] = num % 10;
String nu=numm.substring(0, (numm.length()-(i+1)));
num =Integer.parseInt(nu);
i++;
if(num<10)
{
nums[i]=num;
break;
}
}
for (int j = 0; j < nums.length;j++)
{//用循环得到数组中无素的值累加
temp += (int) Math.pow(nums[j], nums.length);
}
num=Integer.parseInt(numm);
if(temp==num)//判断累加后的结果是否与输入的值一致
{
( System.err.println(num+"是水仙花数!"); }
else
{
System.err.println(num+"不是水仙花数!"); }
}
public static void main(String [] args)
{
Scanner input =new Scanner(System.in);
System.out.println("请输入一个数字:");
int num = input.nextInt();
isNumber(num);
}
}
热心网友
时间:2023-11-18 06:32
import java.util.Scanner;
public class CheckDaffodil{
public static void main(String[] args){
Scanner s=new Scanner(System.in);
int value=s.nextInt();
if(isDaffodilNumber(value)){
System.out.println(value+"是水仙花数");
}
else{
System.out.println(value+"不是水仙花数");
}
}
public static boolean isDaffodilNumber(int value){
int digit,sum=0,temp=value;
while(temp>0){
digit=temp%10;
sum+=digit*digit*digit;
temp/=10;
}
return sum==value;
}
}
热心网友
时间:2023-11-18 06:33
慰问慰问慰问慰问,我不知,(*^__^*) 嘻嘻……
热心网友
时间:2023-11-18 06:33
http://ke.baidu.com/view/152077.htm?fr=ala0