1. 用循环控制语句打印输出:1+3+5+…….+99=?结果。2.编写两个方法分别计算组合数n!. 一个使用递归方法实现,另一个不用递归方法。3. 编写如下的代码:
A. 这个数组应该有以下方法.
sort(Object[] a)
sort(Object[] o,Comparator c)
它们应该能对任何数据对象类型的数组进行排序。
find(Object[] o,Object b)
要求采用二分查找的方式,对排序后的数组,查找特定的元素.B. 创建一个学生类,学生有如下属性
id(唯一), name,address,code,nickName,ageC. 创建一个具有10个学生类型元素的数组,首先根据id,利用ArraysUtil.sort(Object[] a)方法对它进行排序;然后,根据id,查找一个特定的学生(二分查找)。D. 最后,再用sort(Object[],Comparator c)方法,对这个数组重新排序(先按姓名,再按地址排序的排序规则)。

解决方案 »

  1.   

    第一题:for(int i=1;i<100;i++)
    sum+=i;
      

  2.   

    谢谢楼上2位..
    public static void main(String[] args) { 
    int sum = 0;
    for(int i=1;i<100;i=i+2){

    sum+=i;
    }

    System.out.println(sum);
    结果 2500
      

  3.   

    第2题package com.keeya.csdn.test;public class Test {

    //递归
    public static int getFactorialNum01(int i){
    if(i < 2) return 1;
    return getFactorialNum01(i-1)*i;
    }
    //非递归
    public static int getFactorialNum02(int i){
    int temp = 1;
    int result = 1;

    while(temp <= i){
    result *= temp++;
    }

    return result;
    }
    }
      

  4.   

    第二题    //递归
        public long factorial(long num) {
            if (num ==1) {
                return 1;
            }
            return factorial(num-1)*num;
        }
        
        //循环
        public long factorial2(long num) {
            for (long i = num; i > 1; i--) {
                num = num * (i - 1);
            }
            return num;
        }
      

  5.   

    第3题的 sort(Object[] a)是按什么排序?
      

  6.   

    那就不知道怎么排了 感觉
    sort(Object[] a)
    sort(Object[] o,Comparator c)
    这两个方法有重复
      

  7.   

    看题目sort(Object[] a)
    貌似是以ID排序的
      

  8.   

    第三题看下java.util.Collections类就可以了,基本就是个缩减版
      

  9.   

    第3题写了一部分 其他的你自己解决下package com.keeya.csdn.test;import java.util.Arrays;
    import java.util.Comparator;import com.keeya.util.MyPrintStream;public class ArraysUtil {

    public static void main(String[] args) {
    Student[] s = new Student[10];
    int temp = 0;
    while(temp < 10){
    s[temp++] = new Student(10, "name", "address","code","nickName");
    }
    sort(s,c);
    for(int i = 0; i < s.length; i++){
    MyPrintStream.out.println("id={0} age={1} name={2} address={3} code={4} nickName={5}", 
    s[i].getId(),s[i].getAge(),s[i].getName()
    ,s[i].getAddress(),s[i].getCode(),s[i].getNickName());
    }
    }

    private static Comparator c = new StudentComparator(); // public static Object[] sort(Object[] a) {
    // return null;
    // } public static Object[] sort(Object[] o, Comparator c) {
    Arrays.sort(o, c);
    return o;
    }// public static Object find(Object[] o, Object b) {
    // 2分法查找 懒的写了 LZ自己解决下吧
    // }}class StudentComparator implements Comparator { public int compare(Object o1, Object o2) {
    return ((Student) o1).getId() - ((Student) o2).getId();
    }
    }class Student {
    private static int idGetter = 0; private int id; private int age; private String name; private String address; private String code; private String nickName; public int getId() {
    return id;
    } public String getAddress() {
    return address;
    } public int getAge() {
    return age;
    } public String getCode() {
    return code;
    } public String getName() {
    return name;
    } public String getNickName() {
    return nickName;
    } public Student(int age, String name, String address, String code,
    String nickName) {
    this.id = idGetter++;
    this.age = age;
    this.name = name;
    this.address = address;
    this.code = code;
    this.nickName = nickName;
    }
    }
    测试结果:
    id=0 age=10 name=name address=address code=code nickName=nickName
    id=1 age=10 name=name address=address code=code nickName=nickName
    id=2 age=10 name=name address=address code=code nickName=nickName
    id=3 age=10 name=name address=address code=code nickName=nickName
    id=4 age=10 name=name address=address code=code nickName=nickName
    id=5 age=10 name=name address=address code=code nickName=nickName
    id=6 age=10 name=name address=address code=code nickName=nickName
    id=7 age=10 name=name address=address code=code nickName=nickName
    id=8 age=10 name=name address=address code=code nickName=nickName
    id=9 age=10 name=name address=address code=code nickName=nickName
      

  10.   

    上边的看不出来排序效果,下边的把数组的生产顺序改了下  public static void main(String[] args) {
    Student[] s = new Student[10];
    s[7] = new Student(23,"tom","beijing","aaaa","green");
    s[9] = new Student(43,"jack","beijing","bbbb","green");
    s[8] = new Student(13,"jacky","beijing","cccc","green");
    s[5] = new Student(33,"frank","beijing","dddd","green");
    s[4] = new Student(21,"king","beijing","rrrr","green");
    s[1] = new Student(18,"mery","shanghai","jjjj","green");
    s[2] = new Student(31,"nono","beijing","ffff","green");
    s[3] = new Student(15,"larry","guangzhou","nnnn","green");
    s[0] = new Student(13,"jimmy","wuhan","pppp","green");
    s[6] = new Student(27,"lucy","wuhan","pppp","green");

    sort(s,c);
    for(int i = 0; i < s.length; i++){
    MyPrintStream.out.println("id={0} age={1} name={2} address={3} code={4} nickName={5}", 
    s[i].getId(),s[i].getAge(),s[i].getName()
    ,s[i].getAddress(),s[i].getCode(),s[i].getNickName());
    }
    }测试结果
    id=0 age=23 name=tom address=beijing code=aaaa nickName=green
    id=1 age=43 name=jack address=beijing code=bbbb nickName=green
    id=2 age=13 name=jacky address=beijing code=cccc nickName=green
    id=3 age=33 name=frank address=beijing code=dddd nickName=green
    id=4 age=21 name=king address=beijing code=rrrr nickName=green
    id=5 age=18 name=mery address=shanghai code=jjjj nickName=green
    id=6 age=31 name=nono address=beijing code=ffff nickName=green
    id=7 age=15 name=larry address=guangzhou code=nnnn nickName=green
    id=8 age=13 name=jimmy address=wuhan code=pppp nickName=green
    id=9 age=27 name=lucy address=wuhan code=pppp nickName=green
      

  11.   

    都是很基础的题,我想只要是学过JAVA或C的,解决这个很简单
      

  12.   

    第一题
    public class Testfor{
    public static void main(String[] args){
    int sum=0;
    for(int i=1;i<100;i+=2){
    sum+=i;
    }
    System.out.println("sum="+sum);
    }
    }
      

  13.   

    是这样输出结果的吗?初学者我有点不懂,刚学了collection类
      

  14.   

    sort是采用优化的快速排序算法对数组进行排序。。
    如:Arrays.sort(a);
    这样a数组的值会按从小到大排序后在存会数组a中
      

  15.   

    import java.util.*;
    public class Testsort{
    int []a;
    public static int sort(int []a){
    int temp=0;
    for(int i=0;i<a.length;i++){
    for(int j=0;j<a.length-1;j++){
    if(a[i]<a[j]){
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
    }
    }
    }
    return 0;
    }

    public static void main(String[] args){
    int []a={1,5,3,6,2};
    sort(a);
    for(int k=0;k<a.length;k++){
    System.out.print(a[k]+" ");
    }
    int []b=new int[5];
    System.arraycopy(a,0,b,0,a.length);
    Arrays.sort(b);
    int j=3;
    System.out.println("");
    System.out.println("第四个数是:"+binarrysearch(b,3));
    }
    public static int search(int a[],int i){
    for(int j=0;j<a.length;j++){
    if(a[j]==i) return j;
    }
    return -1;
    }
     public static int binarrysearch(int a[],int i){
    if(a.length==0)
    return -1;

    int start=0;
    int end=a.length-1;
    int m=(start+end)/2;

    while(start<end){
    if(i==a[m])
    return m;
     if(i>a[m]){
    start=m+1;
    }
    if(i<a[m]){
    end=m-1;
    }
     m=(start+end)/2;
    }
    return -1;
    }
    }
      

  16.   

    其它的不理解
    只知道这么多:
    import java.util.*;
    class Student{
    private int id;
    String name;
    //String adress;
    //int age;
    Student(int id,String name){
    this.id=id;
    this.name=name;
    //this.adress=adress;
    //this.age=age;
    }
    public int getId(){return id;}
    public String getName(){return name;}
    }
    public class Testfind{
    public static void main(String[] args){
    int id;
    System.out.println("请输入一个ID:");
    Scanner input=new Scanner(System.in);
    id=input.nextInt();
    Student s[]=new Student [10];
    s[0]=new Student(1,"adfbl");
    s[1]=new Student(2,"a");
    s[2]=new Student(3,"ad");
    s[3]=new Student(4,"adj");
    s[4]=new Student(5,"adfb");
    s[5]=new Student(6,"adf");
    s[6]=new Student(7,"adfblj");
    s[7]=new Student(8,"adfblfgjh");
    s[8]=new Student(9,"adfbldghfd");
    s[9]=new Student(10,"adfbldfdfth");
    switch(id){
    case 1:System.out.println("adfbl");break;
    case 2:System.out.println("a");break;
    case 3:System.out.println("ad");break;
    case 4:System.out.println("adj");break;
    case 5:System.out.println("adfb");break;
    case 6:System.out.println("adf");break;
    case 7:System.out.println("adfblj");break;
    case 8:System.out.println("adfblfgjh");break;
    case 9:System.out.println("adfbldghfd");break;
    case 10:System.out.println("adfbldfdfth");break;
    default:
    System.out.println("输入的ID有错误!!!");
    }
    }
    }