首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > JAVA > 模拟试题 > 正文

2009年上半年等级考试二级JAVA精选试题复习

来源:考试吧Exam8.com) 2009-3-12 13:48:51 考试吧:中国教育培训第一门户 模拟考场

 

  20. 编程题::写一个满足Singleton模式的类出来

  public class SingletonTest

  {

  private static SingletonTest sp;

  private SingletonTest() {}

  public static SingletonTest getInstance()

  {

  if (sp==null)

  { sp=new SingletonTest(); }

  return sp;

  }

  21. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”

  解:import java.io.*;

  class interceptString

  {

  String interceptStr;

  int interceptByte;

  public interceptString(String str,int bytes)

  {

  interceptStr=str;

  interceptByte=bytes;

  System.out.println("字符串为:'"+interceptStr+"';字节数为:"+interceptByte);

  }

  public void interceptIt()

  {

  int interceptCount; interceptCount=(interceptStr.length()%interceptByte==0)?(interceptStr.length()/interceptByte):(interceptStr.length()/interceptByte+1);

  System.out.println("截取后断数为:"+interceptCount);

  for (int i=1;i<=interceptCount ;i++ )

  { if (i==interceptCount)

  {

  System.out.println(interceptStr.substring((i-1)*interceptByte,interceptStr.length()));

  } else

  {

  System.out.println(interceptStr.substring((i-1)*interceptByte,(i*interceptByte)));

  }

  }

  }

  public static void main(String[] args)

  {

  String s="";

  InputStreamReader ir=new InputStreamReader(System.in);

  BufferedReader in = new BufferedReader(ir);

  try {

  s = in.readLine();

  interceptString ss = new interceptString(s,4);

  ss.interceptIt();

  in.close();

  } catch (IOException e)

  { e.printStackTrace();}

  }

  }

  22. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

  答:多线程有三种实现方法,分别为:

  ① 实现Runnable接口,覆盖Run()方法。

  ② 继承Thread,覆盖Run()方法。

  ③ 继承TimerTask,覆盖Run()方法。

  同步的实现是在方法前加synchronized,在调用wait()和notify()。

  23. 请说出你所知道的线程同步的方法

  答:1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。

  2. synchronized 块:通过 synchronized关键字来声明synchronized 块。

  24. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

  答:不可以。synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程才能获得该锁,重新进入可执行状态。

  25. 用JAVA SOCKET编程,实现简单的Echo功能

  如: 客户端从键盘输入 hi (当用户输出exit 退出程序),服务端响应为 hi(服务器要求为多线程)

  解:服务器程序:

  import java.io.*;

  import java.net.*;

  public class MyServer extends Thread{

  private Socket cq ;

  public MyServer(Socket cq)

  {

  this.cq = cq;

  }

  public void run()

  {

  try

  {

  BufferedReader in=new BufferedReader(new InputStreamReader(cq.getInputStream()));

  PrintWriter out=new PrintWriter(cq.getOutputStream());

  while(true)

  {

  String str=in.readLine();

  System.out.println(str);

  out.println("message: "+str);

  out.flush();

  if(str.equals("exit"))

  break;

  }

  }

  catch(IOException e)

  {

  System.out.println(e.message());

  }

  }

  public static void main(String[] args) throws IOException{

  ServerSocket server=new ServerSocket(8009);

  while(true)

  {

  Socket s=server.accept();

  new MyServer(s).start();

  }

  }

  }

  客户端程序:

  import java.net.*;

  import java.io.*;

  public class MyClient{

  public static void main(String[] args)throws Exception

  {

  Socket server=new Socket("localhost",8009);

  BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));

  PrintWriter out=new PrintWriter(server.getOutputStream());

  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

  while(true)

  {

  String str=br.readLine();

  out.println(str);

  out.flush();

  if(str.equals("exit")){

  break;

  }

  System.out.println(in.readLine());

  }

  server.close();

  }

  }

上一页  1 2 3 4 5  下一页
  相关推荐:全国计算机等级考试将于3月28日至4月1日举行
       2009年全国计算机等级考试各科目考试大纲
       2009上半年计算机等级考试各地报名时间汇总
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。