一些简单的函数

来源:互联网 发布:手机测量角度软件 编辑:程序博客网 时间:2024/05/16 17:04

  忽然发现在注重一些框架的同时,忘记了最基本的算法,就像人生在不停的追求切忘了本初自身生命的意义.

          终于决定写下来,希望也能对看到的人有帮助.
        对String的操作是java中无需提示的基本功,我想其他的语言也不类外,就像我们说话先学的你好.
       public class String1 {
                    /**
                       *
                       * 找出字符串中包含的数字
                          */
                 public static void StringNum(String str){
                             String regex = "[^0-9]";
                             String subNum = str.replaceAll(regex, "").trim();
                              System.out.print(subNum);
                }
               public static void main(String [] args){
                            String s ="ads123";
                            StringNum(s);
               }
  }
        
          递归和迭代
          public class Factorial {
/**
  * 用递归法写出阶乘的函数
  */
public static void main(String[] args) {
  int num = 5;
  Iterative(num);
System.out.println(Iterative(num));
}
public static int Iterative(int num) {
//递归
  if (num <= 0) {
   return 1;
  }
  return num * Iterative(num - 1);
  //迭代  
//  int result=num*(num-1);
//  for(int i = 1;i<num-1;i++){
//   result=result*(num-i-1);
//  
//  }
//  return result;
}
}
   对流程的控制
public class FindNum {
/**
  * 找出数组中重复次数最多的数字MaxNum和它重复的次数MaxCount
  */
public static void findNum(int num[]) {
  int MaxCount = Integer.MIN_VALUE, MaxNum = 0;
  int temp = 1;
  for (int i = 1; i <= num.length; i++) {
   int count = 1;
   for (int j = num.length - 1; j > i; j--) {
    while (num[i] == num[j]) {
     count++;
     break;
    }
    if (count > temp) {
     temp = count;
     MaxNum = num[i];
     MaxCount = temp;
    }
   }
  }
  System.out.print("MaxNum=" + MaxNum + "," + "MaxCount=" + MaxCount);
}
public static void main(String[] args) {
  int num[] = { 3, 4, 2, 3, 456, 7, 5, 2, 6, 2, 0, 2, 9 };
  findNum(num);
}
}
以上是我自己写的,肯定不是最好的,这是我现阶段能写出的.希望将来能写出优雅的语句.