读书人

java 的几个小算法(口试常考题)

发布时间: 2012-07-04 19:33:54 作者: rapoo

java 的几个小算法(面试常考题)

package com.diangxing;public class TestArithmetic {public static void main(String[] args) {// TODO Auto-generated method stub//getString("abcdef");//getForString();//int [] agars = {5,90,10,40,20,70,50};//int numble = compute(agars);//System.out.println(numble);//printString();long n = recurrence(10);System.out.println(n);}/** * 1、写一个方法,要求:输入一个字符串ABCDEFG,要求倒序输出GFEDCBA: */private static void getString(String str){if(str != null && !str.isEmpty()){for(int i = str.length() - 1; i >= 0; i-- ){System.out.print(str.charAt(i));}}}/**有一个三位数,个位是c,十位是b,百位是a,abc      + cba    ----------------       1333如上运算,求满足这种的三位数有几种情况?*/private static void getForString(){int b = 1;for(int a=0 ; a<=9 ; a++){for(int c=0; c<=9 ; c ++){if(a+c == 13){System.out.print("a="+a+" ");          System.out.print("b="+b+" ");          System.out.print("c="+c+"  ;");          System.out.println();}}}}/** * 有一组数,求这组数的最大数和最小数的绝对值是多少? *  *数组的排序 */private static int compute(int[] in){int temp = 0;for(int i = 0; i < in.length ; i ++){for(int j = 0 ; j < in.length  ; j ++){if(in[i] > in[j]){temp = in[i];in[i] = in[j];in[j] = temp;}}}for(int k = 0 ; k < in.length ; k ++){System.out.print(in[k] + ",");}System.out.println();return Math.abs(in[0] - in[in.length - 1]);}/** * 4、打印九九乘方表: */private static void printString(){System.out.println("九九乘方表:");for(int i = 1; i <= 9 ; i ++){for(int j = 1 ; j <= i; j ++){  System.out.print(j+"*"+i+"="+i*j+"  ");  }System.out.println();}}/** * 利用递归求一个数的阶乘? */private static long recurrence(int n){ if(n == 1){return 1;}else{return n * recurrence(n -1);}}}
?

读书人网 >移动开发

热点推荐