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 ii[i] =Integer.parseInt(s[i]); } Arrays.sort(ii); //asc for(int i=0;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(n