程序答题总结.doc
《程序答题总结.doc》由会员分享,可在线阅读,更多相关《程序答题总结.doc(12页珍藏版)》请在装配图网上搜索。
实验题 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 FileWriter(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();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 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.name+ 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, String name,int age,String department) this.id=id; this.name=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 FileOutputStream(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).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 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元将钱到入。试编写一个程序,模拟实际作业。代码: 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() / run() 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(); 任务三:生产者和消费者问题生产者生产面包,消费者消费面包,“生产”和“消费”各代表一个进程,当生产者没有生产出面包的时候,消费者不能消费面包。当消费者没有消费完面包的时候,生产者不能再生产。代码: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 (InterruptedException e) e.printStackTrace();water.setWater(false);/ 设置水塘无水状态System.out.println(消费完毕。);任务一:InetAddress类练习使用InetAddress类的方法获取www.nwsuaf.edu.cn的主机的IP地址;获取本地机的名称和IP地址。代码:package Lab8;import java.net.InetAddress ;public class InetAddressDemo public static void main(String args)throws Exception InetAddress locAdd = null ;InetAddress pku = null ;locAdd = InetAddress.getLocalHost() ;/ 得到本机System.out.println();pku = InetAddress.getByName(www.nwsuaf.edu.cn);System.out.println(学校IP地址: + pku.getHostAddress() ;System.out.println(本机的IP地址: + locAdd.getHostAddress() ;System.out.println(本机的名称+locAdd.getHostName();任务二:Socket类和ServerSocket类练习:利用Socket类和ServerSocket类编写一个C/S程序,实现C/S通信。客户端向服务器端发送“Time”命令,服务器端接受到该字符串后将服务器端当前时间返回给客户端;客户端向服务器端发送“Exit”命令,服务器端向客户端返回“Bye”后退出。代码:package Lab8;import java.io.*;import java.net.*;import java.util.*;public class Server implements Runnablepublic ServerSocket ss;public 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(); 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(); String 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.close(); 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对象到客户端,基本要求:使用Socket类和ServerSocket类实现。代码:package Lab8; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ObjectServer public static void main(String args) ServerSocket server = null;Socket s = null;OutputStream ops= null;ObjectOutputStream oos =null; Student stu=new Student(10090,小明,20); try server = new ServerSocket(9001); s = server.accept(); ops = s.getOutputStream(); oos = new ObjectOutputStream(ops); oos.writeObject(stu); oos.close(); s.close(); server.close(); catch (IOException e) e.printStackTrace();- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 答题 总结
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文