1.该题有未知的三位数,编写为参数,如:int num
2.该题有两种情况,但是只得到一个结果,因此可以编写为带返回类型
3.当一个题是否这种情况时,一般返回类型编写为boolean
1 class Method13{ 2 /*练习11:判断一个三位数是否是水仙花数 3 分析得到:1.该题有未知的三位数,编写为参数,如:int num 4 2.该题有两种情况,但是只得到一个结果,因此可以编写为带返回类型 5 3.当一个题是否这种情况时,一般返回类型编写为boolean 6 */ 7 public static boolean isFlag(int num){ 8 if(num >=100 & num<=999){ 9 //获取当前数num 中的各个位 10 int gw = num % 10,sw = num /10 % 10,bw = num /100; 11 //计算各个位的立方和 12 int sum = gw*gw*gw + sw*sw*sw+bw*bw*bw; 13 //判断立方和是否与当前数 num 相等 14 /*if(sum == num){ 15 return true; //true表示是水仙花数 16 }else{ 17 return false; //falese表示不是水仙花数 18 }*/ 19 20 //等价于上面的 if else 21 return (sum ==num); 22 }else{ 23 return false; //false表示不是水仙花数 24 } 25 } 26 //练习10:判断一个年龄,输出老年、中年、青年、少年 27 public static void print(int age){ 28 if (age >= 65){ 29 System.out.println("老年"); 30 }else if(age >= 30){ 31 System.out.println("中年"); 32 }else if(age >= 18){ 33 System.out.println("青年"); 34 }else{ 35 System.out.println("少年"); 36 } 37 } 38 //编写带返回带参数的方法 //有一个结果就可以带返回 39 public static String getInfo(int age){ 40 if(age >=65){ 41 return "老年"; 42 }else if (age >= 30){ 43 return "中年"; 44 }else if(age >=18){ 45 return "青年"; 46 }else { 47 return "少年"; 48 } 49 } 50 51 52 public static void main(String[ ]args){ 53 Scanner input = new Scanner(System.in); 54 /*练习10: 55 System.out.print("请输入年龄:"); 56 //int age = input.nextInt(); 57 print(age); 58 59 //System.out.println(getInfo(age)); //把调用的返回结果再输出 60 61 */ 62 //练习11: 63 System.out.println(isFlag(153)); 64 } 65 } 66 67 class Method14{ 68 //练习12:编写方法输出所有的三位水仙花数 69 public static void print(){ 70 for (int i =100; i<=999 ;i ++ ){ 71 if(Method13.isFlag(i)){ //调用练习11的方法 72 System.out.println(i); 73 } 74 } 75 } 76 public static void main(String[ ]args){ 77 print(); 78 } 79 }