java题,急急急!
1个回答
展开全部
刚写的代码,你看看,有什么问题随时问我,这是求100-999之间的,还可以求1000-9999之间的;
public class FlowerNumber {
public static void main(String[] args) {
getFlowerNumber();
}
public static void getFlowerNumber(){
for(int number=100;number<=999;number++){
int unit=number%10; //个位
int decade=number%100/10; //百位
int hundreds=number/100;//千位
if(number==(Math.pow(unit, 3)+Math.pow(decade, 3)+Math.pow(hundreds, 3))){
System.out.println("100到999之间的水仙花数是:"+number);
}
}
}
}
//输出结果:
100到999之间的水仙花数是:153
100到999之间的水仙花数是:370
100到999之间的水仙花数是:371
100到999之间的水仙花数是:407
更多追问追答
追问
能不能求出第二个和第四个水仙花数的和,同时输出这两个水仙花数-,-
追答
简单,稍微改造一下就行。
public class FlowerNumber {
public static void main(String[] args) {
List<Integer> flowerNumber = getFlowerNumber();
int sum = getSum(flowerNumber);
System.out.println("二和四水仙花数和是:"+sum);
}
public static List<Integer> getFlowerNumber(){
List<Integer> flowerNums = new ArrayList<Integer>();
for(int number=100;number<=999;number++){
int unit=number%10; //个位
int decade=number%100/10; //百位
int hundreds=number/100;//千位
if(number==(Math.pow(unit, 3)+Math.pow(decade, 3)+Math.pow(hundreds, 3))){
System.out.println("100到999之间的水仙花数是:"+number);
flowerNums.add(number);
}
}
return flowerNums;
}
public static int getSum(List<Integer> list){
Integer second = list.get(1);
System.out.println("第二个水仙花数是:"+second);
Integer fourth = list.get(3);
System.out.println("第四个水仙花数是:"+fourth);
int sum = second + fourth;
return sum;
}
}
//输出结果:
100到999之间的水仙花数是:153
100到999之间的水仙花数是:370
100到999之间的水仙花数是:371
100到999之间的水仙花数是:407
第二个水仙花数是:370
第四个水仙花数是:407
二和四水仙花数和是:777
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询