Java上机作业5月15日

1

定义IShape接口,包含两个方法:
·getArea(求面积方法):没有参数,返回double类型值;
·getPerimeter(求周长方法):没有参数,返回double类型值。

定义IDiagArea接口,继承IShape接口,新增方法:·
getDiagonal(求对角线方法):没有参数,返回double类型值。

定义MyRectangle(长方形类),实现IShape接口,并添加以下内容:
属性:长、宽,double类型
构造方法:两个参数,根据参数的值为属性赋值。
output方法:调用成员方法计算并输出长方形的相关信息(长、宽、面积、周长)。

定义MySquare(正方形类),继承MyRectangle类,实现IDiagArea接口,并添加以下内容:
构造方法:1个参数,调用父类的构造方法把长、宽设置为相等(即边长),为参数的值。
重写output方法:调用成员方法计算并输出长方形的相关信息(边长、面积、周长、对角线长度)(开根号可调用Math.sqrt(double a)的方法)

定义测试类Demo,编写main方法,新建MyRectangle、MySquare对象,并分别调用它们的output方法。

代码

package game;

public class Java上机作业515日_1 {
	public static void main(String[] args) {
		MyRectangle myRectangle = new MyRectangle(3, 2);
		myRectangle.output();
		MySquare mSquare = new MySquare(2);
		mSquare.output();
	}
}

interface IShape{
	double getArea();
	double getPerimeter();
}

interface IDiagArea extends IShape{
	double getDiagonal();
}
class MyRectangle implements IShape{
	double length,width;

	public MyRectangle(double length, double width) {
		super();
		this.length = length;
		this.width = width;
	}
	
	public double getArea() { return length * width; }

	public double getPerimeter() { return 2 * ( length + width ); }
	
	void output() {
		System.out.println("长:" + length);
		System.out.println("宽:" + width);
		System.out.println("面积:" + this.getArea());
		System.out.println("周长:" + this.getPerimeter());
	}
	
}
class MySquare extends MyRectangle implements IDiagArea{
	
	public MySquare(double index) { super(index, index); }

	public double getDiagonal() { return Math.sqrt( 2 * Math.pow(length, 2) ); }
	void output() {
		System.out.println("长:" + length);
		System.out.println("宽:" + width);
		System.out.println("面积:" + this.getArea());
		System.out.println("周长:" + this.getPerimeter());
		System.out.println("对角线:" + this.getDiagonal());
	}
	
}

2

定义MyException(自定义异常类),继承Exception
类构造方法:无参,调用父类Exception的一个参数的构造方法,设置参数字符串为“该数是偶数,不合法!”。
testNumber方法:无参,没有返回值。
方法内随机产生一个小于100的整数,并判断其是否为偶数,如果是,则抛出自定义异常MyException,否则输出其值。(该方法不捕获异常)。
生成随机数:import java.util.Random;
//引入随机类……Random r=new Random();
//生成随机类对象int n=r.nextInt(100);
//随机生成0~99的整数

定义测试类ExceptionDemo,编写main方法:
建立MyException类对象,调用testNumber方法,使用try-catch-finally捕获程序产生的异常并输出异常信息,而且保证在无论有没有产生异常程序结束时能输出提示信息:
“=======程序运行结束!=========”

代码

package game;
import java.util.Random;

public class Java上机作业515日_2 {
	public static void main(String[] args) {
		MyException exception = new MyException();
		try {
			exception.testNumber();
		}catch (MyException e) {
			e.printStackTrace();
		}finally {
			System.out.println("=======程序运行结束!=========");
		}
	}
}

class MyException extends Exception{
	
	
	public MyException() {super("该数是偶数,不合法!");}
	public void testNumber() throws MyException {
		Random r=new Random();
		int n = r.nextInt(100);
		if(n%2==0) throw new MyException();
		else System.out.println(n);
	}
}

你可能感兴趣的:(自主练习)