1.       设计数据库时,n维,如何设计。例如[省份][城市][网吧],这是三维关系,它的表也应该有三个,网吧有外键引用城市,城市有外键应用省份,这个规律就是下层的要有一外键去引用上层。 2.       输入某个unsigned int,判断其二进制形式中有多少个1例如:5有2个1,因为5的二进制形式是101;7有3个1,因为7的二进制是111没有思路。求高人贴答案。谢谢。

解决方案 »

  1.   


    public static void main(String[] args) {
    int num = 7;
    //new Demo9().getWeek();
    String str=Integer.toBinaryString(num);
    System.out.println("数num的二进制为:"+str);
    int sum = 0;
    for (int i = 0; i < str.length(); i++) {
    System.out.println((int)(str.charAt(i)));
    if(49 ==(int)(str.charAt(i)))
     sum++;
    }
    System.out.println("数num的包含1的个数为:"+sum);
    }
      

  2.   

    第二题:
    class Test{
        **
      * 方法1  取余法  O(log2v)
      * @param value
      */
     public static int MethodA1Num(int value){
      int num=0;
      while(value!=0){
       int a = value%2;
       int b = value/2;
       if(a==1)
        num++;
       value = b;
      }
      return num;
     }   public static void main(String[] args){
         int sum = Test.MethodA1Num(5);
         System.out.println(sum);
       }
    }
      

  3.   

    回答第一题吧:
       如果一张表;写出表结构
       id       父节点   name
       1          0      湖南
       2           1     长沙
       3           1     邵阳
       4           2     芙蓉区
       5           3     邵阳县
       ……下面以此类推;根节点默认为0;子节点的父节点为节点id.
    多张表也就是外键关联而已
      

  4.   

    2、public static int bitscount(int x){
         int count = 0;
         for(; x != 0; x >>= 1){
             if((x & 0x1) != 0)
                count++;
         }
         return count;
    }试试!!