我的评论:
本题的splitStringByComma(String )方法纯属多余,可以用String的split方法一句话代替,且可读性也更强,下面的一段话源自JDK16API,StringTokenizer类已不再提倡使用,保留仅为旧代码。
StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 javautilregex 包。
import javautil*;
public class bycomma{
public static String[] splitStringByComma(String source){
if(source==null||sourcetrim()equals(""))
return null;
StringTokenizer commaToker = new StringTokenizer(source,",");
String[] result = new String[commaTokercountTokens()];
int i=0;
while(commaTokerhasMoreTokens()){
result[i] = commaTokernextToken();
i++;
}
return result;
}
public static void main(String args[]){
String[] s = splitStringByComma("5,8,7,4,3,9,1");
int[] ii = new int[slength];
for(int i = 0; i<iilength;i++){
ii[i] =IntegerparseInt(s[i]);
}
Arrayssort(ii);
//asc
for(int i=0;i<iilength;i++ ){
Systemoutprintln(ii[i]);
}
//desc
for(int i=(slength-1);i>=0;i--){
Systemoutprintln(ii[i]);
}
}
}
2编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
代码:
public static boolean isLetter(char c){
int k=0X80;
return c/k==0?true:false;
}
public static int lengths(String strSrc){
if (strSrc==null){
return 0;
}
int len=0;
char[] strChar=strSrctoCharArray();
for (int i=0;i<strCharlength;i++){
len++;
if (!isLetter(strChar[i])) len++;
}
return len;
}
public static String subString(String origin,int len){
if (origin==null || originequals("")|| len<1){
return "";
}
if (len>lengths(origin)){
return origin;
}
byte[] strByte=new byte[le
java笔试算法题及答案 来自淘豆网m.daumloan.com转载请标明出处.