您的位置:首页 > 编程语言 > Java开发

[六]java作业

2016-10-22 19:38 337 查看

实现沙发床接口

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 down
you 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 144
to10 is 100
to16 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:
error
finally
*/

对于异常检测,我一般都是在函数内部或调用函数前对传入的参数进行检验,出现异常后通过搭建脚手架输出信息来判断代码块的具体问题原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: