程序答题总结_第1页
程序答题总结_第2页
程序答题总结_第3页
程序答题总结_第4页
程序答题总结_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验题 4 写一程序统计纯文本文件“Early-Precaution.txt”的大写字母、小写字母个数,并将所有小写字母转换为大写字母,输出到result.txt。代码:import java.io.*;public class Getchar FileReader fr;public static void main(String args) FileReader fr;try fr = new FileReader(F:Early-Precaution.txt);File file = new File(F:result.txt);FileWriter fos =new FileWrite

2、r(file);BufferedReader br = new BufferedReader(fr);BufferedWriter bw = new BufferedWriter(fos);String aline;int k=0;int m=0;while(aline = br.readLine()!=null)String str = new String (aline);char s = new charstr.length();s=str.toCharArray();for(int i=0;i=a& si=A & si=Z)m+;String STR = str.toUpperCase

3、();bw.write(STR + n);br.close();bw.close();System.out.println(小写字母的个数为:);System.out.println(k);System.out.println(大写字母的个数为:);System.out.println(m); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();实验题 5对象输入与输出流将Student类的一个实例写到文件中student.txt中,并从student.txt中读取这个实例,代码:package

4、objectobject;import java.io.*;public class ReadObject public static void main(String args) Student stu=null; try FileInputStream fi=new FileInputStream(c:date.ser); ObjectInputStream si=new ObjectInputStream(fi); stu=(Student) si.readObject(); si.close(); System.out.println(ID: +stu.id+ name:+ stu.n

5、ame+ age:+stu.age+ dept.:+stu.department); catch(Exception e) System.out.println(e.toString(); package objectobject;import java.io.Serializable;class Student implements Serializable private static final long serialVersionUID = 1L; int id; int age; String name; String department;public Student(int id

6、, String name,int age,String department) this.id=id; =name; this.age=age; this.department =department; package objectobject;import java.io.*;public class WriteObject public static void main(String args) Student stu=new Student(981036,Li Ming,16,CSD); try FileOutputStream fo=new FileOutputSt

7、ream(c:date.ser); ObjectOutputStream so=new ObjectOutputStream(fo); so.writeObject(stu); so.close(); catch(Exception e) 任务一:火车售票假设有火车票1000张,创建10个线程模拟10个售票点,每个售票点100毫秒买一张票。打印出售票过程,注意使用synchronized确保同一张票只能卖出一次。代码:public class Taskone public static void main(String args)Yx t = new Yx();new Thread(t,1).

8、start();new Thread(t,2).start();new Thread(t,3).start();new Thread(t,4).start();new Thread(t,5).start();new Thread(t,6).start();new Thread(t,7).start();new Thread(t,8).start();new Thread(t,9).start();new Thread(t,10).start();public class Yx extends Thread int ticket = 200;String name = ;public void

9、run() while (true) synchronized (name) if (ticket = 0)break;System.out.println(第 + Thread.currentThread().getName()+ 售票点卖出第 + ticket- + 张票);try Thread.sleep(100); catch (InterruptedException e) e.printStackTrace();任务二:银行存款假设某家银行,它可接受顾客的汇款,每做一次汇款,便可计算出汇款的总额。现有两个顾客,每人都分3次,每次100元将钱到入。试编写一个程序,模拟实际作业。代码:

10、 class CBank private static int sum=0; public static void add(int n) int tmp=sum; tmp=tmp+n; / 累加汇款总额 try Thread.sleep(int)(10000*Math.random(); / 小睡几秒钟 catch(InterruptedException e) sum=tmp; System.out.println(sum= +sum); class CCustomer extends Thread / CCustomer类,继承自Thread类 public void run() / ru

11、n() method for(int i=1;i=4;i+) CBank.add(1000); / System.out.println(sum= +CBank); / 将1000元分三次汇入 public class bank public static void main(String args) CCustomer c1=new CCustomer(); CCustomer c2=new CCustomer(); c1.start(); c2.start(); 任务三:生产者和消费者问题生产者生产面包,消费者消费面包,“生产”和“消费”各代表一个进程,当生产者没有生产出面包的时候,消费者

12、不能消费面包。当消费者没有消费完面包的时候,生产者不能再生产。代码:package Product;public class ThreadA extends Thread Water water;public ThreadA(Water waterArg) water = waterArg;public void run() System.out.println(开始生产);for (int i = 1; i = 1; i-) / 循环5侧try Thread.sleep(1000); / 休眠1秒,模拟1分钟System.out.println(i + 个); catch (Interrup

13、tedException e) e.printStackTrace();water.setWater(false);/ 设置水塘无水状态System.out.println(消费完毕。);任务一:InetAddress类练习使用InetAddress类的方法获取的主机的IP地址;获取本地机的名称和IP地址。代码:package Lab8;import .InetAddress ;public class InetAddressDemo public static void main(String args)throws Exception In

14、etAddress locAdd = null ;InetAddress pku = null ;locAdd = InetAddress.getLocalHost() ;/ 得到本机System.out.println();pku = InetAddress.getByName();System.out.println(学校IP地址: + pku.getHostAddress() ;System.out.println(本机的IP地址: + locAdd.getHostAddress() ;System.out.println(本机的名称+locAdd.ge

15、tHostName();任务二:Socket类和ServerSocket类练习:利用Socket类和ServerSocket类编写一个C/S程序,实现C/S通信。客户端向服务器端发送“Time”命令,服务器端接受到该字符串后将服务器端当前时间返回给客户端;客户端向服务器端发送“Exit”命令,服务器端向客户端返回“Bye”后退出。代码:package Lab8;import java.io.*;import .*;import java.util.*;public class Server implements Runnablepublic ServerSocket ss;pu

16、blic Socket s;public InputStream is;public OutputStream os;public Server() System.out.println(服务器已启动!); try ss=new ServerSocket(8002); s=ss.accept(); is=s.getInputStream(); os=s.getOutputStream(); Thread t=new Thread(this); t.start(); while(true) Scanner a = new Scanner(System.in); String b = a.next

17、(); os.write(b.getBytes(); catch (IOException e) e.printStackTrace(); public void run() while(true) try while (s.isConnected() Thread.sleep(50); byte buy = new byte100; int len; len = is.read(buy); String string = new String(buy, 0, len); if(string.equals(Time) Calendar c = Calendar.getInstance(); S

18、tring str=现在时间是:+c.get(Calendar.HOUR_OF_DAY)+:+c.get(Calendar.MINUTE)+:+c.get(Calendar.SECOND); System.out.println(string); os.write(str.getBytes(); else if(string.equals(Exit) os.write(Bye!.getBytes(); os.flush(); System.out.println(连接已经断开!); System.exit(0); else System.out.println(string); is.clos

19、e(); os.close(); s.close(); ss.close(); catch (Exception e) e.printStackTrace(); public static void main(String args) new Server();任务三:DatagramSocket类和DatagramPacket类练习编写一个数据报通信程序,实现简单的聊天功能。基本要求:两人一组编写完整程序。为了给大家减轻负担,Swing部分的代码已给出。(请同学们到作业管理系统下载Lab8.zip中的UDPmessage.java)代码:任务四:传输对象输入与输出流现有一个Student类,程序实现:从服务器端传输一个Student对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论