笔试题精选

笔试题精选
 1 /** 
 2      *  需求:
 3      *  编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表)
 4      *  例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
 5         首先要了解中文字符有多种编码及各种编码的特征。假设n为要截取的字节数。
 6      */
 7 class MyTest
 8 {
 9     public static void main(String[] args) throws Exception
10     {
11         String str = "HM程序员";
12         int num = trimGBK(str.getBytes("GBK"),4);
13         System.out.println(str.substring(0,num));
14     }
15     public static int trimGBK(byte[] buf,int n)
16     {
17         int num = 0;
18         boolean FirstHalf = false;
19         for (int i=0; i<n; i++)
20         {
21             if(buf[i]<0 && !FirstHalf)
22             {
23                 FirstHalf = true;
24             }else
25             {
26                 num++;
27                 FirstHalf = false;
28             }
29         }
30         return num;
31     }
32 }
笔试题精选
笔试题精选
 1 /** 
 2      * 需求:
 3      * 定义一个交通灯枚举,包括红灯、绿灯、黄灯,需要有获得下一个灯的方法;
 4      * 例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯
 5      */
 6 public emun Lamp
 7 {
 8     RED("GREEN"),GREEN("YELLOW"),YELLOW("RED");
 9     private String next;
10     private Lamp(String next)
11     {
12         this.next = next;
13     }
14     public Lamp nextLamp()
15     {
16         return Lamp.valueOf(next);
17     }
18 }
笔试题精选

 

笔试题精选
 1     /** 
 2      * 需求:
 3      * ArrayList list = new ArrayList();
 4      * 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
 5      */
 6 import java.util.*;
 7 import java.lang.*;
 8 import java.lang.reflect.Method;
 9 public class MyTest
10 {
11     public static void main(String[] args) throws Exception
12     {
13         ArrayList<Integer> list = new ArrayList<Integer>();
14         Method method = list.getClass().getMethod("add",Object.class);
15         method.invoke(list,"I am a String");
16         System.out.println(list.toString());
17     }
18 }
笔试题精选
笔试题精选
 1     /** 
 2      * 需求:
 3      * 一个ArrayList对象aList中存有若干个字符串元素,
 4      * 现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现。
 5      */
 6 import java.util.*;
 7 public class MyTest
 8 {
 9     public static void main(String[] args) throws Exception
10     {
11         ArrayList<String> aList = new ArrayList<String>();
12         aList.add("heima");
13         aList.add("abc");
14         aList.add("heima");
15         aList.add("abc");
16         aList.add("heima");
17         aList.add("abc");
18         System.out.println(aList.toString());
19         Iterator<String> it = aList.iterator();
20         while(it.hasNext())
21         {
22             String str = it.next();
23             if(str.equals("abc"))
24             {
25                 it.remove();
26             }
27         }
28         System.out.println(aList.toString());
29     }
30 }
笔试题精选
笔试题精选
 1     /** 
 2      * 需求:
 3      * 编写一个类,增加一个实例方法用于打印一条字符串。
 4      * 并使用反射手段创建该类的对象,并调用该对象中的方法。
 5      */
 6 import java.util.*;
 7 import java.lang.reflect.Method;
 8 public class MyTest
 9 {
10     public static void main(String[] args) throws Exception
11     {
12         Class<myClass> clazz = myClass.class;
13         Method method = clazz.getMethod("printStr",String.class);
14         method.invoke(clazz.newInstance(),"Hello heima");
15     }
16 }
17 class myClass
18 {
19     public void printStr(String str)
20     {
21         System.out.println(str);
22     }
23 }
笔试题精选
笔试题精选
 1     /** 
 2      * 需求:
 3      * 定义一个文件输入流,调用read(byte[] b)方法
 4      * 将exercise.txt文件中的所有内容打印出来(byte 数组的大小限制为5,不考虑中文编码问题)。
 5      */
 6 import java.io.*;
 7 public class MyTest
 8 {
 9     public static void main(String[] args)
10     {
11         FileInputStream fr = null;
12         try
13         {
14             fr = new FileInputStream("d:/exercise.txt");
15             byte[] bt = new byte[5];
16             int len = 0;
17             while((len = fr.read(bt))!=-1)
18             {
19                 for (int i = 0; i<len;i++ )
20                 {
21                     System.out.print((char)bt[i]);
22                 }
23             }
24         }
25         catch (IOException e)
26         {
27             e.printStackTrace();
28         }finally
29         {
30             if(fr!=null)
31                 try
32                 {
33                     fr.close();
34                 }
35                 catch (IOException e)
36                 {
37                     fr = null;
38                 }
39         }
40     }
41 }
笔试题精选
笔试题精选
 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 /**
 4  * 需求:
 5  * 编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,
 6  * 然后打印出这个十进制整数对应的二进制形式。
 7  * 这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,
 8  * 并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。
 9  * @param args
10  */
11 
12 public class Test09{
13     public static void main (String args[]) throws Exception{
14         
15         BufferedReader bufr = 
16             new BufferedReader(
17                 new InputStreamReader(System.in));//定义输入流
18         System.out.println("请输入需要转换的字符串:");
19         String line = bufr.readLine();//读取输入的字符串
20         try{
21             int i = Integer.parseInt(line);//转换为整数
22             System.out.println(i+"对应的二进制字符串是:"+Integer.toBinaryString(i));//将十进制转换为二进制
23         }catch(Exception e){
24             String regex = ".*\\D+.*";//用正则做一下判断
25             if(line.matches(regex)) {
26                     System.out.println("含有非数字字符");
27             } else {
28                     System.out.println("数字太大");
29             }
30         }
31     }
32 }
笔试题精选

笔试题精选

上一篇:获取当前时间的字符串


下一篇:TextEdit 只能输入数字(0-9)的限制