原题目如下:
1.1到99随机产生20个数,并以这20个数生成以10的倍数为根节点的树,1-10的数在根节点10下,11到 20的数在根节点20下,依次类推。打印输出如下图:
   +10
   ----2
   ----3
   ----8
........... 
   +30
   ----32
   ----39
...........
   +90
   ----91
   ----932、将4个字节的数组转化为int
public static int getInt(byte _b1, byte _b2, byte _b3, byte _b4) {
 
}

解决方案 »

  1.   

    System.out.print()把排好序的数挨个输出啦。一个典型的排序,查找的题。不过这个题在分段操作(查找)上会有一些执行时间上面的技巧需要考虑。第二个题俺也没有看明白呢。
      

  2.   

    不是缩进输出,最后结果应该就像WINDOWS下文件的目录一样。
       能给出代码吗?   50全给了
      

  3.   

    第二题实际上就是四个字节组织一个INT吧,实际上传过来的四个参数就是数组,呵呵。
      

  4.   

    试着写了个第一题的 应该有很多问题。。
    import java.util.Arrays;
    public class tree
    {
    public static void main(String args[])
    {
       int[] tree=new int[20];
       for(int i=0;i<20;i++){
       tree[i]=1+(int)(Math.random()*98);
       }
       Arrays.sort(tree);
       int level=10;
       boolean write=true;
       for(int j=0;j<20;j++){
       if(tree[j]<=level){
       if(write){
       System.out.println("+"+level);
       write=false;
       }
       System.out.println("----"+tree[j]);
       }else{
       write=true;
       level+=10;
       j--;
       }
       }
    }
    }
      

  5.   

    楼主给第一题的示例和题目不符:
    1-10的数在根节点10下,11到 20的数在根节点20下,依次类推。打印输出如下图: 
      +10 
      ----2 
      ----3 
      ----8 
    ........... 
      +30 
      ----32 
      ----39 
    ........... 
      +90 
      ----91 
      ----93 32、39应该摆在40下吧,91、93应该摆在100下吧
    import java.util.Arrays;
    public class RandonNum
    {
        public static void main(String args[])
        {
           int[] tree=new int[20];
           for(int i=0;i<20;i++){
               tree[i]=1+(int)(Math.random()*98);
           }
           
           Arrays.sort(tree);
           for(int k=0;k<20;k++){
            System.out.println("+"+tree[k]);;
           }
           System.out.println("-----------------------------------");
           int level=0;
           int level_num = 0;
           int p = 0;
           for(int j=0;j<20;j++){
               if(tree[j]<=10){
                   if(p == 0){
                    System.out.println("+"+ 10);
                    p++;
                   }
                   System.out.println("----"+tree[j]);
               }else{
                if((int)(tree[j] / 10) > level_num){
                level = (int)(tree[j] / 10);
                System.out.println("+"+ (level + 1)*10);
                level_num = level;
                }
                System.out.println("----"+tree[j]);
               }
           }
        }
    }
      

  6.   

    1.
    public void createRandom() {
    Random r = new Random();
    List<Integer> rList = new ArrayList<Integer>();
    int temp = -1;
    while (rList.size() < 20) {
    temp = r.nextInt(99) + 1;
    if (!rList.contains(temp)) {
    rList.add(temp);
    }
    }
    Object[] nums = rList.toArray();
    Arrays.sort(nums);
    boolean tag=true;
    for (int i = 0, j = 10; i < nums.length; i++) {
    if(Integer.parseInt(nums[i].toString())<=j){
    if(tag){
    System.out.println("+"+j);
    tag=false;
    }
    System.out.println("----"+nums[i]);
    }else{
    tag=true;
    j+=10;
    i--;
    }
    }
    }2.
    public static int getInt(byte _b1, byte _b2, byte _b3, byte _b4){
       return ((_b1&0x000000ff)<<24)|((_b2&0x000000ff)<<16)|((_b3&0x000000ff)<<8)|(_b4&0x000000ff);
    }
      

  7.   

    第1题比较简单 StringBuilder[] builder = new StringBuilder[10];
    for(int i=0; i<builder.length; i++)
    builder[i] = new StringBuilder();

    for(int i=0; i<20; i++) {
    int rand = (int)(Math.random()*99) + 1;
    builder[rand/10].append("\n---" + rand);
    }

    for(int i=0; i<builder.length; i++)
    System.out.println("+" + (i+1)*10 + builder[i]);
    第2题不太明白
      

  8.   


    import java.util.Arrays;
    import java.util.Random;
    public class First { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] arr=new int[20];
    for(int i=0;i<arr.length;i++){
    arr[i]=new Random().nextInt(99)+1;
    }
    int sum=0;
    for(int i=0;i<arr.length;i++){
    sum+=arr[i];
    }
    Arrays.sort(arr);
    for(int i=0;i<arr.length;i++){
    int base=arr[i]/10*10+10;
    System.out.println("+"+base);
    while(i<arr.length&&(arr[i]/10*10+10)==base){
    System.out.println("----"+arr[i]);
    i++;
    }
    }
    }
    }
      

  9.   

    1.除以10不就行了。。
    2.好奇的问你byte是多少位的。。怎么个对应法啊难道是16进制那样的?
    嘿嘿自己搞吧乘以2的多少次方。。
    话说当年我被别人扔出来的时候的题目啊555555555555