[六]java作业

来源:互联网 发布:java调用restful api 编辑:程序博客网 时间:2024/05/17 21:58

实现沙发床接口

interface iSofaBed{void canDo();}class sofa implements iSofaBed{public void canDo(){System.out.print("you could sit down\n");}}class bed implements iSofaBed{public void canDo(){System.out.print("you could sleep\n");}}class test{public static void main(String[] args) {sofa mySofa=new sofa();bed myBed=new bed();mySofa.canDo();myBed.canDo();}}/*out:you could sit downyou could sleep */

适配器模式例子

//10进制转换为8进制和16进制interface transition{void setNum(int num);void to8();void to10();void to16();}class number{public int num;public void to10(){System.out.printf("to10 is %d\n",num);}}class adapter extends number implements transition{public void setNum(int num){this.num=num;}public void to8(){System.out.printf("to8  is %o\n",num);}public void to16(){System.out.printf("to16 is %X\n",num);}}class test{public static void main(String[] args) {transition tmp=new adapter();tmp.setNum(100);tmp.to8();tmp.to10();tmp.to16();}}/*out:to8  is 144to10 is 100to16 is 64 */


使用instanceof子类/父类转换

class patterning{public double area;public void calcArea(){}public void putArea(){System.out.printf("area is %f",area);}}class triangle extends patterning{private double width;private double height;public void calcArea(){area=width*height/2;}}class square extends patterning{private double height;public void calcArea(){area=height*height;}}class rectangle extends patterning{private double width;private double height;public void calcArea(){area=width*height;}}public class test {public static void main(String[] args) {patterning[] p=new patterning[10];for(int i=0;i<p.length;i++){switch((int)(Math.random()*(3))){case 0:p[i]=new triangle();break;case 1:p[i]=new square();break;case 2:p[i]=new rectangle();break;default :}}for(int i=0;i<p.length;i++){if(p[i] instanceof triangle){System.out.printf("三角形 ");}else if(p[i] instanceof square){System.out.printf("正方形 ");}else if(p[i] instanceof rectangle){System.out.printf("长方形 ");}}}}/*out:三角形 长方形 三角形 正方形 三角形 正方形 长方形 长方形 正方形 长方形  */

Exception处理

public class test {public static void main(String[] args) {int c = 0;try{int a = 1;int b = 0;c = a / b;System.out.println("zero");}catch (ArithmeticException e){System.out.println("error");return ;}finally{System.out.println("finally");}}}/*out:errorfinally*/

对于异常检测,我一般都是在函数内部或调用函数前对传入的参数进行检验,出现异常后通过搭建脚手架输出信息来判断代码块的具体问题原因。

0 0