首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

分享些美的java机试题

2012-10-10 
分享些好的java机试题.1 .现在输入 n 个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面

分享些好的java机试题.
1 .现在输入 n 个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供 reset

import java.util.*; public class bycomma{   public static String[] splitStringByComma(String source){    if(source==null||source.trim().equals(""))     return null;    StringTokenizer commaToker = new StringTokenizer(source,",");    String[] result = new String[commaToker.countTokens()];    int i=0;    while(commaToker.hasMoreTokens()){     result[i] = commaToker.nextToken();     i++;    }    return result;   }   public static void main(String args[]){   String[] s = splitStringByComma("5,8,7,4,3,9,1");   int[] ii = new int[s.length];   for(int i = 0;i<s.length;i++){   ii[i] =Integer.parseInt(s[i]);   }     Arrays.sort(ii);     //asc     for(int i=0;i<s.length;i++){     System.out.println(ii[i]);     }     //desc     for(int i=(s.length-1);i>=0;i--){     System.out.println(ii[i]);     }   } } 

2 .金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥ 1011 )- > (一千零一拾一元整)输出。
package test.format; import java.text.NumberFormat; import java.util.HashMap; public class SimpleMoneyFormat {   public static final String EMPTY = "";   public static final String ZERO = " 零 ";   public static final String ONE = " 壹 ";   public static final String TWO = " 贰 ";   public static final String THREE = " 叁 ";   public static final String FOUR = " 肆 ";   public static final String FIVE = " 伍 ";   public static final String SIX = " 陆 ";   public static final String SEVEN = " 柒 ";   public static final String EIGHT = " 捌 ";   public static final String NINE = " 玖 ";   public static final String TEN = " 拾 ";   public static final String HUNDRED = " 佰 ";   public static final String THOUSAND = " 仟 ";   public static final String TEN_THOUSAND = " 万 ";   public static final String HUNDRED_MILLION = " 亿 ";   public static final String YUAN = " 元 ";   public static final String JIAO = " 角 ";   public static final String FEN = " 分 ";   public static final String DOT = ".";     private static SimpleMoneyFormat formatter = null;   private HashMap chineseNumberMap = new HashMap();   private HashMap chineseMoneyPattern = new HashMap();   private NumberFormat numberFormat = NumberFormat.getInstance();     private SimpleMoneyFormat() {     numberFormat.setMaximumFractionDigits(4);     numberFormat.setMinimumFractionDigits(2);     numberFormat.setGroupingUsed(false);       chineseNumberMap.put("0", ZERO);     chineseNumberMap.put("1", ONE);     chineseNumberMap.put("2", TWO);     chineseNumberMap.put("3", THREE);     chineseNumberMap.put("4", FOUR);     chineseNumberMap.put("5", FIVE);     chineseNumberMap.put("6", SIX);     chineseNumberMap.put("7", SEVEN);     chineseNumberMap.put("8", EIGHT);     chineseNumberMap.put("9", NINE);     chineseNumberMap.put(DOT, DOT);       chineseMoneyPattern.put("1", TEN);     chineseMoneyPattern.put("2", HUNDRED);     chineseMoneyPattern.put("3", THOUSAND);     chineseMoneyPattern.put("4", TEN_THOUSAND);     chineseMoneyPattern.put("5", TEN);     chineseMoneyPattern.put("6", HUNDRED);     chineseMoneyPattern.put("7", THOUSAND);     chineseMoneyPattern.put("8", HUNDRED_MILLION);   }     public static SimpleMoneyFormat getInstance() {     if (formatter == null)       formatter = new SimpleMoneyFormat();     return formatter;   }     public String format(String moneyStr) {     checkPrecision(moneyStr);     String result;     result = convertToChineseNumber(moneyStr);     result = addUnitsToChineseMoneyString(result);     return result;   }     public String format(double moneyDouble) {     return format(numberFormat.format(moneyDouble));   }     public String format(int moneyInt) {     return format(numberFormat.format(moneyInt));   }     public String format(long moneyLong) {     return format(numberFormat.format(moneyLong));   }     public String format(Number moneyNum) {     return format(numberFormat.format(moneyNum));   }     private String convertToChineseNumber(String moneyStr) {     String result;     StringBuffer cMoneyStringBuffer = new StringBuffer();     for (int i = 0; i < moneyStr.length(); i++) {       cMoneyStringBuffer.append(chineseNumberMap.get(moneyStr.substring(i, i + 1)));     }     // 拾佰仟万亿等都是汉字里面才有的单位,加上它们     int indexOfDot = cMoneyStringBuffer.indexOf(DOT);     int moneyPatternCursor = 1;     for (int i = indexOfDot - 1; i > 0; i--) {       cMoneyStringBuffer.insert(i, chineseMoneyPattern.get(EMPTY + moneyPatternCursor));       moneyPatternCursor = moneyPatternCursor == 8 ? 1 : moneyPatternCursor + 1;     }       String fractionPart = cMoneyStringBuffer.substring(cMoneyStringBuffer.indexOf("."));     cMoneyStringBuffer.delete(cMoneyStringBuffer.indexOf("."), cMoneyStringBuffer.length());     while (cMoneyStringBuffer.indexOf(" 零拾 ") != -1) {       cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(" 零拾 "), cMoneyStringBuffer.indexOf(" 零拾 ") + 2, ZERO);     }     while (cMoneyStringBuffer.indexOf(" 零佰 ") != -1) {       cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(" 零佰 "), cMoneyStringBuffer.indexOf(" 零佰 ") + 2, ZERO);     }     while (cMoneyStringBuffer.indexOf(" 零仟 ") != -1) {       cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(" 零仟 "), cMoneyStringBuffer.indexOf(" 零仟 ") + 2, ZERO);     }     while (cMoneyStringBuffer.indexOf(" 零万 ") != -1) {       cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(" 零万 "), cMoneyStringBuffer.indexOf(" 零万 ") + 2, TEN_THOUSAND);     }     while (cMoneyStringBuffer.indexOf(" 零亿 ") != -1) {       cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(" 零亿 "), cMoneyStringBuffer.indexOf(" 零亿 ") + 2, HUNDRED_MILLION);     }     while (cMoneyStringBuffer.indexOf(" 零零 ") != -1) {       cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(" 零零 "), cMoneyStringBuffer.indexOf(" 零零 ") + 2, ZERO);     }     if (cMoneyStringBuffer.lastIndexOf(ZERO) == cMoneyStringBuffer.length() - 1)       cMoneyStringBuffer.delete(cMoneyStringBuffer.length() - 1, cMoneyStringBuffer.length());     cMoneyStringBuffer.append(fractionPart);       result = cMoneyStringBuffer.toString();     return result;   }       private String addUnitsToChineseMoneyString(String moneyStr) {     String result;     StringBuffer cMoneyStringBuffer = new StringBuffer(moneyStr);     int indexOfDot = cMoneyStringBuffer.indexOf(DOT);     cMoneyStringBuffer.replace(indexOfDot, indexOfDot + 1, YUAN); 

给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842

package my.test;
public class FilterChar {
public static void main(String[] args) {
   String   s   =   "iu7i8hy4jnb2";
   String newStr = s.replaceAll("[a-z]", "");
   System.out.println(newStr);
}
}

3给你一组字符串让你把它倒叙输出
/** 以前都不用这种方法,多看看API还是有收获的*/public static String reverseStr(String str){   StringBuffer sb = new StringBuffer(str);   sb.reverse();   return sb.toString();}

4.求完全数

public static boolean isPerfectNumber(int num){   int total = 0;   for(int i=1;i<=num/2;i++){    if(num%i==0)total+=i;   }   if(total == num)    return true;   return false;}


5.显示某一文件目录下的文件名

/** 就是一个递归处理文件夹嵌套*/public static void listAllFile(File f){   if(f.isFile()){    System.out.println(f.getAbsolutePath());   }else if(f.isDirectory()){    File[] fl = f.listFiles();    for(File ff:fl){     if(ff.isFile()){      System.out.println(ff.getAbsolutePath());     }else if(ff.isDirectory()){      listAllFile(ff);     }    }      }}

6.将54张牌1~54随机分发到数组
public class PlayCard {public static void main(String[] args) {   final int CART_ARRAY_LEN = 54;   int[] carts = new int[CART_ARRAY_LEN];   for(int i=0;i<CART_ARRAY_LEN;i++){    carts[i]=i+1;   }   for (int i = 0; i <CART_ARRAY_LEN ; i++) {    int rdmNum1 = (int) (Math.random() * 54);    int rdmNum2 = (int) (Math.random() * 54);    int temp = carts[rdmNum1];    carts[rdmNum1] = carts[rdmNum2];    carts[rdmNum2] = temp;   }   for(int i=0;i<CART_ARRAY_LEN;i++){    System.out.println(carts[i]);   }}}


7.定义一串字母的字符串,求出现最多的那个字母,出现了多少次!
public class Test {    public static void main(String[] args) {        String str = "dsfdsfsdfsdf";        Map<Character,Integer> d = new HashMap<Character, Integer>();        for(int i = 0;i<str.length();i++){            char c = str.charAt(i);            if(d.containsKey(c)){                d.put(c, d.get(c)+1);            }            else{                d.put(c, 1);            }        }        System.out.println(d);    }    }


8.打印出一个字符串里面字母的出现次数
public static void printCount(String str){   Map<Character,Integer> map = new HashMap<Character,Integer>();   char[] charArray = str.toCharArray();   final int ARRAY_LEN = charArray.length;   for (int i = 0; i < ARRAY_LEN; i++) {    if(!map.containsKey(charArray[i])){     map.put(charArray[i], 1);    }    else{     int curCount = map.get(charArray[i]);     map.put(charArray[i],curCount+1 );     }   }   for(Character c:map.keySet()){    System.out.println(c+"出现次数:"+map.get(c));   }

热点排行