忽然发现在注重一些框架的同时,忘记了最基本的算法,就像人生在不停的追求切忘了本初自身生命的意义.
终于决定写下来,希望也能对看到的人有帮助.
对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);
}
}
以上是我自己写的,肯定不是最好的,这是我现阶段能写出的.希望将来能写出优雅的语句.