我的代码如下

来源:10-3 Java 中的抽象类

慕雪7762075

2015-08-06 11:43

//Test.java
import java.util.Scanner;
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		System.out.println("pls input the r of circle");
		float r = input.nextFloat();
		System.out.println("pls input the length of rectangle");
		float length = input.nextFloat();
		System.out.println("pls input the width of rectangle");
		float width = input.nextFloat();
		Circle circle = new Circle(r);
		Rectangle rectangle = new Rectangle(length,width);
		
		System.out.println("圆形的周长为" + circle.perimeter());
		System.out.println("圆形的面积为" + circle.square());
		
		System.out.println("长方形的周长为" + rectangle.perimeter());
		System.out.println("长方形的面积为" + rectangle.square());
	}

}


Shape.java

public abstract class Shape {
	public abstract float square();
	public abstract float perimeter();
}

Circle.java

public class Circle extends Shape{
	float r;
	public Circle(float r0){
		r = r0;
	}
	
	
	@Override
	public float perimeter() {
		// TODO Auto-generated method stub
		return 2*r*(float)Math.PI;
	}

	@Override
	public float square() {
		// TODO Auto-generated method stub
		return (float)Math.PI*r*r;
	}
}

Rectangle.java

public class Rectangle extends Shape {
	public float length;
	public float width;

	public Rectangle(float length0,float width0){
		width = width0;
		length = length0;
		if(length <= 0){
				System.out.println("输入的长度<=0,有误");
		}
		
		if(width <= 0){
				System.out.println("输入的宽度<=0,请重新输入");
		}
	}
	@Override
	public float perimeter() {
		// TODO Auto-generated method stub
		return 2*(length + width);
	}

	@Override
	public float square() {
		// TODO Auto-generated method stub
		return length * width;
	}

}


写回答 关注

2回答

  • 选择坚持风雨无阻
    2015-12-28 17:24:47
      if(length <= 0){
                    System.out.println("输入的长度<=0,有误");
            }
            if(width <= 0){
                    System.out.println("输入的宽度<=0,请重新输入");

    这段,怎么实现输入错误之后的重新输入?


  • 有强迫症的罗小贱
    2015-08-07 09:03:02

    写的非常好 赞一个

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题