实验十五Java异常与常用工具类编程(精) 下载本文

实验十五 Java异常与常用工具类编程

§15.1实验指导

1、异常处理

1)常见异常程序在运行期间出现异常,如数据库不能连接,数组越界,IO异常,被零除算术异常等.

ArrayIndexOutOfBoundsException IOException

ArithmeticException

NullPointerException 未实例化异常 。。。。 2)处理异常

try{

...//正常需要执行代码,可能会出现异常 }catch(Exception ex){

...//出现异常,异常处理代码 } 3)finally

try{ ...

}catch(Exception ex){ ... }finally{

.../*无论是否发生异常,是否捕获到异常,都会执行的代码*/ }

4)throws 声明异常

public void fun() throws Exception{

...//函数fun()可能发生异常,该函数并未处理异常try..catch... //由函数的调用者处理该异常. } 示例1

public static String fun() throws Exception {

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); return buf.readLine(); }

public static void main(String[] args) { try { String s=fun();

} catch (Exception e) { e.printStackTrace(); }

}

5)throw 抛出异常 用户自定义异常

class CircleException extends Exception{ private String msg;

public CircleException(){ }

public CircleException(String msg){ this.msg=msg; }

public String toString(){ return msg; } }

class Circle {

public double area(double r) throws CircleException{ if(r<0)

throw new CircleException(\圆半径不能小于0\ else

return Math.PI*r*r; }

public static void main(String[] args) { try {

Circle cir=new Circle(); System.out.println(cir.area(-12)); } catch (CircleException e) { System.out.println(e); } } }

2、String类使用

String 类表示字符串。 在 Java 程序中所有的字符串常量,如 \,都被实现为这个类的实例。 1)、构造函数

String s1=\

String s2=new String(\ 2)、比较函数

①==比较引用是否相同

if(s1==s2) //返回false ②equals():比较串内容是否相同 if(s1.equals(s2))//返回true ③compareTo():比较内容,返回数字

s1.compareTo(s2)

如果s1>s2 则返回>0 如果s1=s2 则返回0 如果s1

3)、取子串substring(),取字符charAt(index) String s1=\ s1.substring(start,end);

s1.substring(0,3);//start到end-1 String s2=s1.substring(6,10); 4)、分割split();

String s1=\ String[] str=s1.split(\

String s2=\

String s2=\ String[] str=s2.split(\\\\\.| \ for(int i=0;i

2、StringBuffer类

StringBuffer

public StringBuffer()

构造一个不包含字符的字符串缓冲区,其初始的容量设为 16 个字符。 StringBuffer

public StringBuffer(int length):构造一个不包含字符的字符串缓冲区,其初始的容量由参数 length 设置。 StringBuffer

public StringBuffer(String str):构造一个字符串缓冲区,来表示和字符串参数相同的字符序列。 length

public int length():返回字符串缓冲区的长度 (字符数)。 capacity

public int capacity():返回字符串缓冲区的当前容量。 该容量表示可用于插入新的字符的存储空间;超出该容量时会发生新的容量分配。 ensureCapacity

public synchronized void ensureCapacity(int minimumCapacity):保证

缓冲区的容量至少等于指定的最小数。 如果字符串缓冲区的当前容量少于该参数,则分配一个新的更大的内部缓冲区。 新容量将取如下参数中较大的一个: setLength

public synchronized void setLength(int newLength):设置该字符串缓冲区的长度。 如果参数 newLength 小于该字符串缓冲区的当前长度。 该字符串缓冲区将被截断来包含恰好等于由参数 newLength 给出的字符数。

append