编程题

1.现在输入n个数字,以逗号,分开; 
然后可选择升或者降序排序; 
按提交键就在另一页面显示 
  按什么 排序,结果为,  , 
提供reset 
答案(1)  

Java代码  收藏代码
  1. public static String[] splitStringByComma(String source){  
  2.            if(source==null||source.trim().equals(""))  
  3.                    return null;  
  4.            StringTokenizer commaToker =  new StringTokenizer(source,",");  
  5.            String[] result = new String[commaToker.countTokens()];  
  6.            int i=0;  
  7.            while(commaToker.hasMoreTokens()){  
  8.                    result[i] = commaToker.nextToken();  
  9.                    i++;  
  10.            }  
  11.            return result;  
  12. }  


循环遍历String数组 
Integer.parseInt(String s)变成int类型 
组成int数组 
Arrays.sort(int[] a), 
a数组升序 
降序可以从尾部开始输出 

2.金额转换,阿拉伯数字的金额转换成中国传统的形式如: 
(¥1011)->(一千零一拾一元整)输出。 
3、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 
答:父类: 

Java代码  收藏代码
  1. package test;   
  2. public class FatherClass   
  3. {   
  4. public FatherClass()   
  5. {   
  6. System.out.println("FatherClass Create");   
  7. }   
  8. }   
  9. 子类:   
  10. package test;   
  11. import test.FatherClass;   
  12. public class ChildClass extends FatherClass   
  13. {   
  14. public ChildClass()   
  15. {   
  16. System.out.println("ChildClass Create");   
  17. }   
  18. public static void main(String[] args)   
  19. {   
  20. FatherClass fc = new FatherClass();   
  21. ChildClass cc = new ChildClass();   
  22. }   
  23. }   


输出结果: 

Java代码  收藏代码
  1. C:>java test.ChildClass   
  2. FatherClass Create   
  3. FatherClass Create   
  4. ChildClass Create   



4、内部类的实现方式? 
答:示例代码如下: 

Java代码  收藏代码
  1. package test;   
  2. public class OuterClass   
  3. {   
  4. private class InterClass   
  5. {   
  6. public InterClass()   
  7. {   
  8. System.out.println("InterClass Create");   
  9. }   
  10. }   
  11. public OuterClass()   
  12. {   
  13. InterClass ic = new InterClass();   
  14. System.out.println("OuterClass Create");   
  15. }   
  16. public static void main(String[] args)   
  17. {   
  18. OuterClass oc = new OuterClass();   
  19. }   
  20. }   


输出结果: 

Java代码  收藏代码
  1. C:>java test/OuterClass   
  2. InterClass Create   
  3. OuterClass Create   


再一个例题: 

Java代码  收藏代码
  1. public class OuterClass {   
  2. private double d1 = 1.0;   
  3. //insert code here   
  4. }   
  5. You need to insert an inner class declaration at line 3. Which two inner class declarations are   
  6.    
  7. valid?(Choose two.)   
  8. A. class InnerOne{   
  9. public static double methoda() {return d1;}   
  10. }   
  11. B. public class InnerOne{   
  12. static double methoda() {return d1;}   
  13. }   
  14. C. private class InnerOne{   
  15. double methoda() {return d1;}   
  16. }   
  17. D. static class InnerOne{   
  18. protected double methoda() {return d1;}   
  19. }   
  20. E. abstract class InnerOne{   
  21. public abstract double methoda();   
  22. }   


说明如下: 
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错 
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 

故 D 错 
三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确 
四.答案为C、E 


5、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 
答:Server端程序: 

Java代码  收藏代码
  1. package test;   
  2. import java.net.*;   
  3. import java.io.*;   
  4. public class Server   
  5. {   
  6. private ServerSocket ss;   
  7. private Socket socket;   
  8. private BufferedReader in;   
  9. private PrintWriter out;   
  10. public Server()   
  11. {   
  12. try   
  13. {   
  14. ss=new ServerSocket(10000);   
  15. while(true)   
  16. {   
  17. socket = ss.accept();   
  18. String RemoteIP = socket.getInetAddress().getHostAddress();   
  19. String RemotePort = ":"+socket.getLocalPort();   
  20. System.out.println("A client come in!IP:"+RemoteIP+RemotePort);   
  21. in = new BufferedReader(new   
  22.    
  23. InputStreamReader(socket.getInputStream()));   
  24. String line = in.readLine();   
  25. System.out.println("Cleint send is :" + line);   
  26. out = new PrintWriter(socket.getOutputStream(),true);   
  27. out.println("Your Message Received!");   
  28. out.close();   
  29. in.close();   
  30. socket.close();   
  31. }   
  32. }catch (IOException e)   
  33. {   
  34. out.println("wrong");   
  35. }   
  36. }   
  37. public static void main(String[] args)   
  38. {   
  39. new Server();   
  40. }   
  41. };   


Client端程序: 

Java代码  收藏代码
  1. package test;   
  2. import java.io.*;   
  3. import java.net.*;   
  4.    
  5. public class Client   
  6. {   
  7. Socket socket;   
  8. BufferedReader in;   
  9. PrintWriter out;   
  10. public Client()   
  11. {   
  12. try   
  13. {   
  14. System.out.println("Try to Connect to 127.0.0.1:10000");   
  15. socket = new Socket("127.0.0.1",10000);   
  16. System.out.println("The Server Connected!");   
  17. System.out.println("Please enter some Character:");   
  18. BufferedReader line = new BufferedReader(new   
  19.    
  20. InputStreamReader(System.in));   
  21. out = new PrintWriter(socket.getOutputStream(),true);   
  22. out.println(line.readLine());   
  23. in = new BufferedReader(new InputStreamReader(socket.getInputStream()));   
  24. System.out.println(in.readLine());   
  25. out.close();   
  26. in.close();   
  27. socket.close();   
  28. }catch(IOException e)   
  29. {   
  30. out.println("Wrong");   
  31. }   
  32. }   
  33. public static void main(String[] args)   
  34. {   
  35. new Client();   
  36. }   
  37. };   


6、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口? 
答:用插入法进行排序代码如下 

Java代码  收藏代码
  1. package test;   
  2. import java.util.*;   
  3. class InsertSort   
  4. {   
  5. ArrayList al;   
  6. public InsertSort(int num,int mod)   
  7. {   
  8. al = new ArrayList(num);   
  9. Random rand = new Random();   
  10. System.out.println("The ArrayList Sort Before:");   
  11. for (int i=0;i<num ;i++ )   
  12. {   
  13. al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));   
  14. System.out.println("al["+i+"]="+al.get(i));   
  15. }   
  16. }   
  17. public void SortIt()   
  18. {   
  19. Integer tempInt;   
  20. int MaxSize=1;   
  21. for(int i=1;i<al.size();i++)   
  22. {   
  23. tempInt = (Integer)al.remove(i);   
  24. if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())   
  25. {   
  26. al.add(MaxSize,tempInt);   
  27. MaxSize++;   
  28. System.out.println(al.toString());   
  29. else {   
  30. for (int j=0;j<MaxSize ;j++ )   
  31. {   
  32. if   
  33.    
  34. (((Integer)al.get(j)).intValue()>=tempInt.intValue())   
  35. {   
  36. al.add(j,tempInt);   
  37. MaxSize++;   
  38. System.out.println(al.toString());   
  39. break;   
  40. }   
  41. }   
  42. }   
  43. }   
  44. System.out.println("The ArrayList Sort After:");   
  45. for(int i=0;i<al.size();i++)   
  46. {   
  47. System.out.println("al["+i+"]="+al.get(i));   
  48. }   
  49. }   
  50. public static void main(String[] args)   
  51. {   
  52. InsertSort is = new InsertSort(10,100);   
  53. is.SortIt();   
  54. }   
  55. }   


JAVA类实现序例化的方法是实现java.io.Serializable接口 
Collection框架中实现比较要实现Comparable 接口和 Comparator 接口 
7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 
答:代码如下: 

Java代码  收藏代码
  1. package test;   
  2.    
  3. class SplitString   
  4. {   
  5. String SplitStr;   
  6. int SplitByte;   
  7. public SplitString(String str,int bytes)   
  8. {   
  9. SplitStr=str;   
  10. SplitByte=bytes;   
  11. System.out.println("The String is:′"+SplitStr+"′;SplitBytes="+SplitByte);   
  12. }   
  13. public void SplitIt()   
  14. {   
  15. int loopCount;   
  16. loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split   
  17. Byte+1);   
  18. System.out.println("Will Split into "+loopCount);   
  19. for (int i=1;i<=loopCount ;i++ )   
  20. {   
  21. if (i==loopCount){   
  22. System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));   
  23. else {   
  24. System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));   
  25. }   
  26. }   
  27. }   
  28. public static void main(String[] args)   
  29. {   
  30. SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人   
  31.    
  32. 0ewldfls=103",4);   
  33. ss.SplitIt();   
  34. }   
  35. }   


8、JAVA多线程编程。 用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。 
希望大家补上,谢谢 
9、STRING与STRINGBUFFER的区别。 
答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

posted on 2013-03-17 22:48  5彩石头  阅读(262)  评论(0编辑  收藏  举报

导航