Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344775
  • 博文数量: 26
  • 博客积分: 169
  • 博客等级: 入伍新兵
  • 技术积分: 516
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-29 23:53
个人简介

爱工作,爱生活,更爱自由的程序媛,坚持最初的梦想,做最好的自己!

文章分类

全部博文(26)

文章存档

2014年(16)

2013年(3)

2012年(7)

我的朋友

分类: Java

2012-05-14 23:36:41

1、要求计算1!+2!+……10!的值
 
 
第一种是for循环:

点击(此处)折叠或打开

  1. public class TestXiti {
  2.     public static void main(String[] args) {
  3.         double sum=0.0;
  4.         for(int i=0;i<=10;i++) {
  5.              double temp=1.0;
  6.         for(int j=1;j<=i;j++) {
  7.              temp=temp*j;
  8.         }
  9.         sum+=temp;
  10.         }
  11.         System.out.println(sum);
  12.     }
  13. }
第二种是递归:

点击(此处)折叠或打开

  1. public class TestXiti {
  2.     public static void main(String[] args) {
  3.         System.out.println(mul(10));
  4.     }
  5.     public static double mul(int num) {
  6.         if(num==1) {
  7.             return fun(1);
  8.         }
  9.         return fun(num) +mul(num-1);
  10.     }
  11.     public static double fun(int num) {
  12.         if(num==1) {
  13.             return 1;
  14.         }
  15.         return num*fun(num-1);
  16.     }
  17. }

2、编写一个方法,此方法可以将一个整数二进制输出:

点击(此处)折叠或打开

  1. //for循环

  2. public class TestXiti {
  3.     public static void main(String[] args) {
  4.             int t=11;
  5.             String str="";
  6.             while(t!=0) {
  7.                 str=(t%2)+str;
  8.                 t=t/2;    
  9.             }
  10.             System.out.println(str);
  11.     }
  12. }
  13. //递归

  14. public class TestXiti {
  15.     public static void main(String[] args) {
  16.             toBanary(11);
  17.     }
  18.     public static void toBanary(int num ) {
  19.         if(num/2==0) {
  20.             System.out.print(num%2);
  21.         }
  22.         else {
  23.             toBanary(num/2);
  24.             System.out.print(num%2);
  25.         }
  26.         
  27.     }
  28. }

3、先给出2个数组,将2个数组合并后,升序输出:
 数组A {1,7,9,11,13,15,17,19};
  数组B  {2,4,6,8,10};

点击(此处)折叠或打开

  1. public class TestXiti {
  2.     public static void main(String[] args) {
  3.         int dataA[]=new int[] {1,7,9,11,13,15,17,19};
  4.         int dataB[]=new int[] {2,4,6,8,10};
  5.         int dataC[]=contact(dataA,dataB);
  6.         java.util.Arrays.sort(dataC);
  7.         print(dataC);
  8.     }
  9.     public static int[] contact(int arrA[],int arrB[]) {
  10.         int arrC []=new int[arrA.length+arrB.length];
  11.         System.arraycopy(arrA, 0, arrC, 0, arrA.length);
  12.         System.arraycopy(arrB, 0, arrC, arrA.length, arrB.length);
  13.         return arrC;
  14.     }
  15.     public static void print(int [] arr) {
  16.         for(int x=0;x<arr.length;x++) {
  17.                 System.out.print(arr[x] + " ");
  18.         }
  19.     }
  20. }

4//数组转置

public class TestXiti {

    public static void main(String[] args) {

       int data[]=new int[] {1,2,3,4,5,6};

       reverse(data);

       print(data);

    }

    public static void reverse(int [] temp) {

       int center=temp.length / 2;

       int head=0;

       int tail=temp.length-1;

       for(int x=0;x

           int t=temp[head];

           temp[head]=temp[tail];

           temp[tail]=t;

           head++;

           tail--;

       }

    }

    public static void print(int [] arr) {

       for(int x=0;xlength;x++) {

           System.out.print(arr[x] + " ");

       }

    }

   

  }

 

5、去掉数组中的0

public class TestXiti {

    public static void main(String[] args) {

       int oldArr[]=new int[] {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

       int newArr[]=new int[count(oldArr)];

       copy(oldArr,newArr);

       print(newArr);

    }

    public static int count(int arr[]) {

       int sum=0;

       for(int i=0;ilength;i++) {

           if(arr[i]!=0)

              sum++;

       }

       return sum;

      

    }

    public static void copy(int oldArr [] , int newArr []) {

       int foot=0;

       for(int i=0;ilength;i++) {

           if(oldArr[i]!=0) {

              newArr[foot++]=oldArr[i];

           }

       }

    }

    public static void print(int [] arr) {

       for(int x=0;xlength;x++) {

           System.out.print(arr[x] + " ");

       }

    }

   

  }


阅读(1748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~