第 21 页 共 71 页
}
87、请写出一个公用方法,输入String返回该串是否含有非空字符,并写出junit的测试用例 答:
public boolean hasBlank(String str){
if(str.endWith(“ ”)||str.startWith(“ ”)){ Return false;
} else{
String[] strs=str.split(“ ”); if(strs.length()==1){
return false;
}
}
return true; }
@Test
public void testFun(){
System.out.println(TestString.nullString(\}
88、JAVA实现一种排序
答:用插入法进行排序代码如下 package com.tarena; import java.util.*; class InsertSort {
ArrayList list;
public InsertSort(int num,int mod) {
list = new ArrayList(num); Random rand = new Random();
System.out.println(\ for (int i=0;i list.add(new Integer(Math.abs(rand.nextInt()) % mod + 1)); System.out.println(\ } } public void SortIt() { Integer tempInt; int MaxSize=1; for(int i=1;i tempInt = (Integer)list.remove(i); if(tempInt.intValue()>=((Integer)list.get(MaxSize-1)).intValue()) { list.add(MaxSize,tempInt); MaxSize++; System.out.println(list.toString()); } else Copyright Tarena Corporation,2009.All rights reserved 第 22 页 共 71 页 { for (int j=0;j if (((Integer)list.get(j)).intValue()>=tempInt.intValue()) { list.add(j,tempInt); MaxSize++; System.out.println(list.toString()); break; } } } } System.out.println(\ for(int i=0;i System.out.println(\ } } public static void main(String[] args) { InsertSort sort = new InsertSort(10,100); sort.SortIt(); } } JAVA类实现序例化的方法是实现java.io.Serializable接口 Collection框架中实现比较要实现Comparable 接口和 Comparator 接口 89、创建类Person,其中存储的成员数据为:age(int),sex(boolean),weight(int),至少有一个构造函数可以初始化这三个属性值,同时提供获取这三个属性值的public方法 答: public class Person { private int age; private boolean sex; private int weight; public Person() { } public Person(int age, boolean sex, int weight) { this.age = age; this.sex = sex; this.weight = weight; } public int getAge() { return age; } public boolean isSex() { return sex; } public int getWeight() { return weight; } } Copyright Tarena Corporation,2009.All rights reserved 第 23 页 共 71 页 90、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如\我ABC\,应该截为\我AB\,输入\我ABC汉DEF\,6,应该输出为\我ABC\而不是\我ABC+汉的半个\。 答: package com.tarena; class SplitString { String SplitStr; int SplitByte; public SplitString(String str,int bytes) { SplitStr=str; SplitByte=bytes; System.out.println(\ } public void SplitIt() { int loopCount; loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split Byte+1); System.out.println(\ for (int i=1;i<=loopCount ;i++ ) { if (i==loopCount){ System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length())); } else { System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte))); } } } public static void main(String[] args) { SplitString ss = new SplitString(\中dd文dsaf中男大3443n中国43中国人0ewldfls=103\ ss.SplitIt(); } } 91、现有一个32位的整型变量 value和一个有32个元素的数组a[32] 要求:a.对value随机赋值;b.让数组a[n]的值等于value“位n”的值,0<=n<=31。 举例:如果value的“位0”(Bit0)=0,那么a[0]=0;如果value的“位10”(Bit10)=1,那么a[10]=1。 答: package com.tarena; import java.util.Random; public class TestArray { final static char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; public static void main(String[] args) { Random r = new Random(); Copyright Tarena Corporation,2009.All rights reserved 第 24 页 共 71 页 int value = r.nextInt(); System.out.println(value); char[] cs = TestArray.test(value, 1); int[] is = new int[32]; for (int i = 0; i < cs.length; i++) { is[i]=((int)cs[i])==0? cs[i]:cs[i]-48; } for (int i = 0; i < is.length; i++) { System.out.print(is[i]); } } public static char[] test(int i, int shift) { char[] buf = new char[32]; int charPos = 32; int radix = 1 << shift; int mask = radix - 1; do { buf[--charPos] = digits[i & mask]; i >>>= shift; } while (i != 0); return buf; } } 92、编写程序将由数字及字符组成的字符串中的数字截取出来并按顺序输出,例如:“ABC137GMNQQ2049PN5FFF”输出结果应该为01234579 答: package com.tarena; import java.util.Arrays; public class NumberSplitChar { public static void main(String[] args) { String str=\ char[] beforechars=str.toCharArray(); char[] afterchars=new char[beforechars.length]; int j=0; for(int i=0;i Arrays.sort(afterchars); for(int i=(afterchars.length-j);i 93、排序都有哪几种方法?用伪代码实现一个快速排序 答:排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选 Copyright Tarena Corporation,2009.All rights reserved

