网站 形象入口页,福州网站建设网络公司排名,苏州网站建设,个人网站制作协议一、按要求排序
要求#xff1a;定义数组并存储一些女朋友对象#xff0c;利用Arrays中的sort方法进行排序
属性包括#xff1a;姓名#xff0c;年龄#xff0c;身高
按照年龄大小进行排序#xff0c;年龄一样按照身高排序#xff0c;身高一样按照姓名字母进行排序。…一、按要求排序
要求定义数组并存储一些女朋友对象利用Arrays中的sort方法进行排序
属性包括姓名年龄身高
按照年龄大小进行排序年龄一样按照身高排序身高一样按照姓名字母进行排序。
姓名不含中文或者字符
自己的
import java.util.Arrays;
import java.util.Comparator;public class Main {public static void main(String[] args){Girlfirend g1new Girlfirend(Sushan,18,160);Girlfirend g2new Girlfirend(Suhai,18,161);Girlfirend g3new Girlfirend(Sudongpo,17,161);Girlfirend[] arrnew Girlfirend[]{g1,g2,g3};Arrays.sort(arr, new ComparatorGirlfirend() {Overridepublic int compare(Girlfirend o1, Girlfirend o2) {if(o1.getAge()!o2.getAge())return o1.getAge()-o2.getAge();else {if(o1.getHeight()!o2.getHeight())return o1.getHeight()-o2.getHeight();else{if(o1.getName().charAt(0)(o2.getName().charAt(0))){return 0;}elsereturn o1.getName().charAt(0)-o2.getName().charAt(0);}}}});System.out.println(_____);System.out.println(String.valueOf(g1)); //返回对象的字符串表达形式//toString 底层代码同样是返回数组中每个元素的字符串表达形式System.out.println(Arrays.toString(arr));}
}答案
import java.util.Arrays;
import java.util.Comparator;public class Main {public static void main(String[] args){Girlfirend g1new Girlfirend(Sushan,18,160);Girlfirend g2new Girlfirend(Suhai,18,161);Girlfirend g3new Girlfirend(Sudongpo,17,161);Girlfirend[] arrnew Girlfirend[]{g1,g2,g3};Arrays.sort(arr, new ComparatorGirlfirend() {Overridepublic int compare(Girlfirend o1, Girlfirend o2) {int tempo1.getAge()-o2.getAge();temptemp0?o1.getHeight()-o2.getHeight():temp;temptemp0?o1.getName().compareTo(o2.getName()):temp;if(temp0)return 0;else if(temp0)return 1;else return -1;}});System.out.println(Arrays.toString(arr));}
}知识点 运算符为条件判断的三元运算符 String中的compareTo方法 二、不死神兔
要求有一对兔子从出生后的第三个月起每个月都生一对兔子小兔子长到三个月后每个月又生一对兔子假如兔子都不死问第十二个月兔子对数为多少对
法一
斐波那契函数
public class Main {public static void main(String[] args){//有一对兔子从出生后的第三个月起每个月都生一对兔子小兔子长到三个月后每个月又生一对兔子假如兔子都不死问第十二个月兔子对数为多少对int[] arrnew int[12];for(int i0;iarr.length;i){if(i2)arr[i]1;elsearr[i]arr[i-2]arr[i-1];System.out.println(arr[i]);}}
}
法二
递归
public class Main {public static void main(String[] args){//有一对兔子从出生后的第三个月起每个月都生一对兔子小兔子长到三个月后每个月又生一对兔子假如兔子都不死问第十二个月兔子对数为多少对System.out.println(rabbitborn(12));}public static int rabbitborn(int month){if(month1||month2)return 1;elsereturn rabbitborn(month-1)rabbitborn(month-2);}
}
三、猴子吃桃
要求有一堆桃子猴子第一天吃了其中的一半并多吃了一个以后每天猴子都吃当前剩下的一半然后再多吃一个第十天的时候还没吃发现只剩下一个桃子了请问最初一共多少个桃子 public class Main {public static void main(String[] args){//有一堆桃子猴子第一天吃了其中的一半并多吃了一个以后每天猴子都吃当前剩下的一半然后再多吃一个// 第十天的时候还没吃发现只剩下一个桃子了请问最初一共多少个桃子//法一int[] arrnew int[10];arr[0]1;for(int i1;iarr.length;i){arr[i]2*(arr[i-1]1);}System.out.println(arr[arr.length-1]);//法二递归System.out.println(getPeach(1));}public static int getPeach(int day){int tempday;if(temp10){return 1;}else return 2*(getPeach(temp1)1);}
}四、爬楼梯
要求爬楼梯有时候一次爬一个台阶有时候一次俩有时候一次三如果这个楼梯有20个台阶一共有多少种爬法 public class Main {public static void main(String[] args){//爬楼梯有时候一次爬一个台阶有时候一次俩有时候一次三如果这个楼梯有100个台阶一共有多少种爬法System.out.println(getcount(20));}public static int getcount(int step){if(step1)return 1;if(step2)return 2;if(step3)return 4;return getcount(step-1)getcount(step-2)getcount(step-3);}}