版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、import java.awt.*;import java.awt.event.*;import .*;import java.io.*;public class ChatServer public static void main(String args) boolean started = false; / 判断服务器是否启动了,先假定没有启动ServerSocket ss = null;DataInputStream dis = null;try ss = new ServerSocket(8888);started = true; / 服务器已经启动了,设置started为truewh
2、ile (started) /当服务器端启动时。boolean bConnect = false; /判断服务器和客户端的连接是否已经建立, 没有为false,连接成功返回trueSocket s = ss.accept(); /accept()与readUTF()方法一样,都是一个阻塞式方法,如果没有收到连接请求,则一直等待。bConnect = true; /连接成功,设置bConnect为trueSystem.out.println(一个连接已经建立!); / -dis = new DataInputStream(s.getInputStream();while (bConnect) S
3、tring str = null;str = dis.readUTF(); /如果客户端突然断开连接,该语句就会抛出异常EOFException,所以我们必须得对dis.readUTF();进行异常处理/readUTF()是阻塞式方法,如果得不到数据,则继续等待,直到读取到数据为止System.out.println(从客户端接受的数据是: + str);catch (BindException e)System.out.println(端口已被占用,其使用其他端口);System.out.println(请关闭相关程序,重新运行!);System.exit(-1);catch (EOFExc
4、eption e)System.out.println(客户端已经断开连接!);catch (IOException e) /e.printStackTrace();System.out.println(服务器端读写错误!);finallytryif (null != ss) /如果监听程序打开了,则关闭网络监听程序ss.close();ss = null;if (null != dis) /如果输入流打开了,则关闭输入流dis.close();dis = null;catch (Exception e)class Aint divide(int a, int b)int m = 0;trym
5、 = a/b;catch (ArithmeticException e)System.out.printf(除数不能为零!n);/System.out.printf(1111);return m;public class TestExcep_1public static void main(String args)new A().divide(6, 2);/System.out.printf(2222);public class TestExcep_2public static void main(String args)int m = 99;trym = 2;System.out.print
6、f(m = %dn, m);catch (Exception e)System.out.printf(m = %dn, m);import java.util.Scanner;import java.util.InputMismatchException;public class TestExcep_3public static void main(String args)int i;Scanner sc = new Scanner(System.in); /System.in 表示键盘tryi = sc.nextInt();System.out.printf(i = %dn, i);catc
7、h (InputMismatchException e)System.out.printf(输入数据不合法,程序被终止!n);class Aint divide(int a, int b)return a/b;public void f()g();public void g()divide(6, 0);public class TestExcep_4public static void main(String args)trynew A().f();catch (Exception e)e.printStackTrace();import java.io.*;class Apublic voi
8、d f() throws IOException throw new IOException(); /throw 抛出异常public void g()throw new ArithmeticException();public class TestExcep_5public static void main(String args) /throws IOExceptionA aa = new A();tryaa.f();catch (IOException e)class Aint divide(int a, int b)int m = 0;m = a / b;return m;public
9、 class TestExcep_6public static void main(String args)trynew A().divide(6, 0);catch (Exception e)System.out.printf(嘿嘿n);e.printStackTrace();finallySystem.out.printf(好久啊哈n);import java.io.*;class DivisorIsZeroException extends Exceptionpublic DivisorIsZeroException(String name)super(name);class Apubl
10、ic int divide(int a, int b) throws DivisorIsZeroExceptionint m = 0;if (0 = b)throw new DivisorIsZeroException(除数不能为零! O(_)O哈哈);elsem = a/b;return m;public class TestExcep_7public static void main(String args) /throws IOExceptionA aa = new A();tryaa.divide(6, 0);catch (Exception e)e.printStackTrace()
11、;import java.io.*;class Apublic void f() throws ArithmeticException /throw new ArithmeticException(); /throw 抛出异常public class TestExcep_8public static void main(String args) /throws IOExceptionA aa = new A();tryaa.f();catch (ArithmeticException e)System.out.printf(haha );class Personpublic int age;p
12、ublic class TestNullPointerExceptionpublic static void main(String args) Person p = null;System.out.println(p.age);class DivisorIsZeroException extends Exceptionpublic DivisorIsZeroException(String errorMessage)super(errorMessage);class Aint divide(int a, int b) throws DivisorIsZeroException/try/if
13、(0 = b)/throw new DivisorIsZeroException(除数不能为零!);/catch (DivisorIsZeroException e)/e.printStackTrace();/if (0 = b)throw new DivisorIsZeroException(除数不能为零!);int m = a / b;return m;public class TestApublic static void main(String args)A aa = new A();/aa.divide(6, 2);/*2009年1月21日21:55:05子类覆盖了基类方法时,子类方
14、法抛出异常的范围不能大于基类方法抛出的异常范围子类方法可以不抛出异常,也可以只抛出基类方法的部分异常但不可以抛出基类方法以外的异常*/自定义异常Aclass A extends Exception/自定义异常Bclass B extends Exception/自定义异常Cclass C extends Exceptionclass Mvoid f() throws A, Bclass N extends Mvoid f() throws A,B /可以throws A或B,也可以throws A,B 也可以不throws,但不可以throws C 即子类覆盖了基类方法时,子类方法抛出异常的范
15、围不能大于基类方法抛出的异常范围class Testpublic void k(M mm)trymm.f();catch (A aa)catch (B bb)class TestExtendExcepublic static void main(String args)M m = new M();N n = new N();/System.out.println(1111);/*在JDK 1.6中的运行结果是:-1111-*/class A public String toString()return 哈哈;public class TestObjectpublic static void m
16、ain(String args)A aa = new A();System.out.printf(%sn, aa.toString();class Dianpublic int x, y;public Dian(int x, int y)this.x = x; this.y = y;public String toString()return + x + , + y + ; /3, 5public class TestPointpublic static void main(String args)Dian d = new Dian(3, 5);/System.out.printf(%s, d
17、);System.out.println(d);class Apublic void f()System.out.printf(AAAAn);class B extends Apublic void f()System.out.printf(BBBBn);public void g()public class TestPoly_1public static void main(String args)A aa = new A();B bb = new B();/aa = bb;aa.f();B bb2 = (B)aa;class Apublic int i;public A(int i)thi
18、s.i = i;/public boolean equals(Object obj)/A aa = (A)obj;/if(this.i = aa.i) /if (当前对象的i和obj代表的i相等)/return true;/else/return false;/public class TestStringEquals_2public static void main(String args)A aa1 = new A(2);A aa2 = new A(2);System.out.println( aa1.equals(aa2) ); /true/*2009年3月14日9:34:11先catch子类异常再catch父类异常如果先catch父类异常再catch子类异常,则编译时会报错*/class A extends Exceptionclass B ex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于中学生人际关系(10篇)
- 市场社会实践报告
- 开学安全第一课的心得体会(30篇)
- 2024分布式电站云边协同技术规范
- 《机械制造基础》课件 模块8 机械装配工艺的基础知识
- 逻辑推断题马于玲
- 国内外相似案例研究:锦荟PARK及碧桂园·森林城市
- 勾股定理复习课课件
- 16.2《登泰山记》课件 2024-2025学年统编版高中语文必修上册-9
- 江苏省南京市第29中2025届高考仿真卷语文试卷含解析
- 气管切开非机械通气病人气道护理课件
- 机关档案管理工作培训课件
- 建设工程竣工消防查验记录
- 浅谈10kV架空线路档距的确定
- 《卫星通信系统》课件
- 电动自行车火灾事故教训警示课件
- 船舶与海洋工程导论(船舶性能)期末单元测试与答案
- 《沟通能力提升》课件
- 江苏小高考计算机考试题目及答案
- 线上线下混合教学课程设计
- 江苏省南京市玄武区2023-2024学年九年级上学期英语期末测试卷
评论
0/150
提交评论