Java 输出100到1000之间的水仙花数
Java 输出100到1000之间的水仙花数
例子:153=1* 1 *1+5 * 5 * 5+3 * 3 * 3
我在变这个程序的时候,有几处犯了错:
- 函数judge()的类型我本来定义成了int,但是一直报错。后来发现,由于该函数是用在主程序的if语句的括号里的,而括号内应填入true、false或者条件语句,所以应该定义成Boolean类型。
- 幂的运用。注意与c++的区别:
(1) c++中使用幂函数要先在程序第二排写上 #include<math.h>,然后再使用pow(a,3) 即可求出a的三次方。
(2) Java中使用幂函数只需Math.pow(a,3) 即可求出a的三次方。注意:math首字母大写,后面用英文状态下的句号链接。
这是修改后的程序:
public class shuixianhuashu {
public static void main(String[] args) {
int i;
for(i=100;i<1000;i++) //范围是100到1000//
if(judge(i)) System.out.println(i);
}
public static boolean judge(int a){ //因为此函数最终返还为两种情况:真或假,所以定义为布尔型//
int ge,shi,bai;
ge=a%10; /*分别取得个十百位上的数值 */
bai=a/100;
shi=(a-bai*100)/10;
if(a==Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3)) return true;//注意幂的用法
else return false;
}
}
本人初次在Java领域探索,发表博客希望记录我在这条路上的点点滴滴,请多多指教:)