精华内容
下载资源
问答
  • 此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽高,可以根据宽高来计算矩形的面积和周长。 1、编写Java程序。 (1)使用继承机制,分别设计实现抽象基类图形类,派生类...

    要求:
    在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。
    1、编写Java程序。
    (1)使用继承机制,分别设计实现抽象基类图形类,派生类圆形类、正方形类、长方形类,要求:
    ①抽象图形类中有属性画笔颜色、图形是否填充,有方法获取图形面积、获取图形周长等;
    ②使用构造方法为其成员属性赋初值;
    ③在每个派生类中都重写toString()方法,返回所有属性的信息;
    ④根据文字描述合理设计类的其他成员属性和方法。
    (2)设计实现画板类,要求:
    ①画一个红色、无填充、长和宽分别为10.0与5.0的长方形;
    ②画一个绿色、有填充、半径为3.0的圆形;
    ③画一个黄色、无填充、边长为4.0的正方形;
    ④分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。

    2、基于上题背景,设计实现以下程序:
    (1)设计Comparable接口,接口中设计compareTo()方法,用来比较对象。此方法的返回值类型设计为int类型。
    此方法接收一个参数,参数类型为图形类。
    (2)在图形类中实现compareTo()方法,用来比较两个图形的面积大小。
    (3)在测试类中,创建图形类的数组,数组中存放多个圆形、正方形、长方形对象,使用compareTo()方法找出数组中面积最大的图形。
    提示:比较对象时,可以将compareTo()方法的返回值设置为1、0、-1,来代表比较结果,当前对象大、两者相等或者当前对象小。
    再次提醒,此题涉及的代码全部展示在此题的题号下,与上一题相独立。

    package com.work;
    //图形
    public abstract class Shape implements Comparable {
    private String Color;
    private boolean Fill;
    
    public abstract double area();
    
    public abstract double perimeter();
    
    public String getColor(){
    	return Color;
    }
    public void setColor(String Color){
    	this.Color=Color;
    }
    public boolean getFill(){
    	return Fill;
    }
    public void setFill(Boolean Fill){
    	this.Fill=Fill;
    }
    
    public int comparaTo(Shape a){
    	int i = 0;
    	if(this.area()>a.area()){
    		i=1;
    	}else if(this.area()<a.area()){
    		i=-1;
    	}else if(this.area()==a.area()){
    		i=0;
    	}
    	return i;
    }
    }
    
    
    package com.work;
    //正方形
    public class Square extends Shape{
    	private double side;
    	public Square( double side){
    		this.side=side;		
    	}
    	@Override
    	public double area() {
    		// TODO Auto-generated method stub
    		return side*side;
    	}
    	@Override
    	public double perimeter() {
    		// TODO Auto-generated method stub
    		return 4*side;
    	}
    	public String toString(){
    		return "边长="+side;
    	}
    	@Override
    	public int compareTo(Shape a) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    	
    }
    
    
    package com.work;
    //长方形
    public class Rectangle extends Shape{
    	private double lenght;
    	private double width;
    	//使用构造方法为成员变量赋初值
    	public Rectangle(double lenght,double width){		
    		this.lenght=lenght;
    		this.width=width;
    	}	
    	@Override
    	public double area() {
    		// TODO Auto-generated method stub
    		return lenght*width;
    	}
    	@Override
    	public double perimeter() {
    		return 2*(lenght+width);
    		// TODO Auto-generated method stub
    		
    	}
    	public String toString(){
    		return "高度="+lenght+",宽度="+width;
    	}
    	@Override
    	public int compareTo(Shape a) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    	
    	}
    
    
    
    
    
    package com.work;
    //圆形
    public class Circular extends Shape{
    	private double r;
    	public Circular(double r){
    		super();
    		this.r=r;
    	}
    
    	@Override
    	public double area() {
    		return Math.PI*r*r;
    		// TODO Auto-generated method stub				
    	}
    
    	@Override
    	public double perimeter() {
    		return 2*Math.PI*r;
    		// TODO Auto-generated method stub				
    	}
    	public String toString(){
    		return "半径为="+r;
    	}
    
    	@Override
    	public int compareTo(Shape a) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    }
    
    
    package com.work;
    
    
    
    public class mainClass {
    
    	public static void main(String args[]){
    		
    //		使用多态实现实例化
    //		 Shape circle=new Circular(3);
    //		 Shape rectangle=new Rectangle(5, 10);
    //		 Shape square=new Square(4);
    		
    		Rectangle r=new Rectangle(5, 10);
    		System.out.println(r);		
    		System.out.println("长方形的面积:"+r.area());
    		System.out.println("长方形的周长:"+r.perimeter());
    		
    		Circular c=new Circular(3);
    		System.out.println(c);		
    		System.out.println("圆形的面积:"+c.area());
    		System.out.println("圆形的周长:"+c.perimeter());
    		
    		Square s=new Square(4);
    		System.out.println(s);		
    		System.out.println("正方形的面积:"+s.area());
    		System.out.println("正方形的周长:"+s.perimeter());
    		
    		
    		Shape[] Sha=new Shape[6];
    		for(int i=0;i<2;i++){
    			Circular c1=new Circular(3.0+i);
    			Sha[i]=c1;
    		}
    		for(int i=2;i<4;i++){
    			Square s1=new Square(4.0+i);
    			Sha[i]=s1;
    		}
    		for(int i=4;i<6;i++){
    			Rectangle r1=new Rectangle(5.0+i,10.0+i);
    			Sha[i]=r1;
    		}
    		Shape max=Sha[0];
    		for(int i=0;i<Sha.length;i++){
    			if(max.comparaTo(Sha[i])==-1){
    				max=Sha[i];
    			}
    		}
    		/*for(int i=0;i<Sha.length;i++){
    			if(Sha[i].area()>max.area()){
    					max=Sha[i];	 
    			}			
    		}*/
    		System.out.println("最大面积为"+max.area());
    		
    	}
    }
    
    
    展开全文
  • 先求出各个图形的面积和周长; 在比较各个图形的大小; 第一点解答如下: (创建一个图形类Graph;派生类:圆形类Circle、正方形类Square、长方形类Rectangle;测试类TestGraph) 代码如下: //创建图形类Graph...

    代码分两部分来现实:

    1. 先求出各个图形的面积和周长;
    2. 在比较各个图形的大小;

    第一点解答如下:

    (创建一个图形类Graph;派生类:圆形类Circle、正方形类Square、长方形类Rectangle;测试类TestGraph)

    代码如下:

    //创建图形类Graph
    public abstract class Graph implements Comparable {
    /*
     * 定义area、girth抽象方法求面积和周长;子类要抽象这两个方法,(当子类也是抽象类时可不抽象父类的抽象方法)
     */
    	public abstract double area();
    	public abstract double girth();
    	public int comparaTo(Graph graph){
    		if(this.area()>graph.area()){
    			return 1 ;
    		}else if(this.area()<graph.area()){
    			return -1 ;
    		}else{
    			return 0 ;
    		}
    	}
    
    }
    //创建圆形类Cricle
    public class Cricle extends Graph {
    
    	private double radius;   //声明圆半径
    	private String green;     //声明圆颜色
    	private String HavePadding;     //声明圆填充
    	
    	public Cricle(double radius) {
    		this.radius = radius;
    	}
    	
    	public Cricle(double radius,String green,String HavePadding) {
    		this.radius = radius;
    		this.green = green;
    		this.HavePadding = HavePadding;
    	}
    
    	public double getRadius() {
    		return radius;
    	}
    
    	public void setRadius(double radius) {
    		this.radius = radius;
    	}
           //重写父类Graph抽象类中的area()方法
    	public double area() {
    		
    		return Math.PI * radius * radius;
    	}
    	//重写父类Graph抽象类中的girth()方法
    	public double girth() {
    		
    		return 2 * Math.PI * radius;
    	}
    
    	public String toString() {
    		return " 颜色 = " + green + ", 是否填充 = " + HavePadding + "";
    	}
    
    	public int comparable(Graph graph) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    }
    //创建正方形类Square
    public  class Square extends Graph {
    	
    	private double side;   //声明正方形边长
    	private String yellow;     //声明正方形颜色
    	private String NotPadding;     //声明正方形填充
    	
    	public Square(double side) {
    		 this.side = side;
    	}
    	
    	public Square(double side,String yellow,String NotPadding) {
    		this.side = side;
    		this.yellow = yellow;
    		this.NotPadding = NotPadding;
    	}
    
    
    	public double getSide() {
    		return side;
    	}
    
    
    	public void setSide(double side) {
    		this.side = side;
    	}
    
    	//重写父类Graph抽象类中的area()方法
    	public double area() {
    		
    		return side * side;
    	}
    
    	//重写父类Graph抽象类中的girth()方法
    	public double girth() {
    		
    		return 4 * side;
    	}
    
    	@Override
    	public String toString() {
    		return " 颜色 = " + yellow + ", 是否填充 = " + NotPadding + "";
    	}
    
    	public int comparable(Graph graph) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    }
    
    //创建长方形类Rectangle
    public class Rectangle extends Graph {
    	private double length;   //声明长方形长和宽
    	private double width;
    	private String red;     //声明长方形颜色
    	private String HavePadding;     //声明长方形填充
    	
    	
    	public Rectangle(double length, double width) {
    	     this.length=length;
    	     this.width=width;
    	}
    
    	public Rectangle(double length,double width,String red,String HavePadding) {
    		this.length = length;
    		this.width = width;
    		this.red = red;
    		this.HavePadding = HavePadding;
    	}
    
    	public double getLength() {
    		return length;
    	}
    
    
    	public void setLength(double length) {
    		this.length = length;
    	}
    
    
    	public double getWidth() {
    		return width;
    	}
    
    
    	public void setWidth(double width) {
    		this.width = width;
    	}
    
    	//重写父类Graph抽象类中的area()方法
    	public double area() {
    	
    		return length * width;
    	}
    
    	//重写父类Graph抽象类中的girth()方法
    	public double girth() {
    	
    		return (length + width)*2;
    	}
    
    	public String toString() {
    		return " 颜色 = " + red + ", 是否填充 = " + HavePadding + "";
    	}
    	
    	public int comparable(Graph graph) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    
    }
    
    //创建测试类
    public class TestGraph{
    
    	public static void main(String[] args) {
    		
    		//分别实例化square、cricle、rectangle
    		Graph square = new Square(4.0,"黄色","无填充");
    		Graph cricle = new Cricle(3.0,"绿色","有填充");
    		Graph rectangle = new Rectangle(10.0,5.0,"红色","有填充");
    
    		//进行打印输出各个图形的面积与周长
    		System.out.println("正方形信息为 :" + square.toString() + "\n"+"正方形的面积为 :"+ square.area()+" 正方形的周长为 :" + square.girth() +"\n");
    		System.out.println("圆形信息为 :" + cricle.toString() + "\n"+"圆形的面积为 :"+ cricle.area()+" 圆形的周长为 :" + cricle.girth() +"\n");
    		System.out.println("长方形信息为 :" + rectangle.toString() + "\n"+"长方形的面积为 :"+ rectangle.area()+" 长方形的周长为 :" + rectangle.girth() +"\n");
    	
    	}
    
    }
    1. 在比较各个图形的大小;

    第二点解答如下:

    1. (创建一个接口Comparable;接口中创建一个comparaTo()方法找出数组中面积最大的图形。)
    2. (图形类Graph实现接口并重新comparaTo()方法)
    3. (创建一个TestGraphs测试类)

     

    代码如下:

    public interface Comparable {
    
    	public int comparable(Graph graph);
    	
    }
    
    public class TsteGraphs {
    
    	public static void main(String[] args) {
    	 //实例化图像对象数组
    		Graph[] gra = new Graph[10];
    		for(int i=0;i<3;i++){
    			Cricle c = new Cricle(2.0+i);
    			gra[i] = c;
    		}
    		
    		for(int i=3;i<7;i++){
    			Square s = new Square(3.0+i);
    			gra[i] = s;
    		}
    		
    		for(int i=7;i<10;i++){
    			Rectangle r = new Rectangle(3.0+i,4.0+i);
    			gra[i] = r;
    		}
    		
    		Graph max = gra[0];  //认为第一个面积是最大的,再用for比较,把最大的赋值给max
    		
    		for(int i=0;i<gra.length;i++){
    			if(gra[i].area()>max.area()){
    				max = gra[i];
    			}
    		}
    		
    		System.out.println("最大图形为:"+max.area());
    
    	}
    
    }
    

     

    展开全文
  • java面向对象之图形面积周长比较 在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的...

    java面向对象之图形面积、周长及比较 

    在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。

    1、编写Java程序。

    (1)使用继承机制,分别设计实现抽象基类图形类,派生类圆形类、正方形类、长方形类,要求:

    ①抽象图形类中有方法获取图形面积、获取图形周长等;

    ②使用构造方法为其成员属性赋初值;

    ③在每个派生类中都重写toString()方法,返回所有属性的信息;

    ④根据文字描述合理设计类的其他成员属性和方法。

    (2)设计实现画板类,要求:

    分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。

    2、基于上题背景,设计实现以下程序:

    (1)设计Comparable接口,接口中设计compareTo()方法,用来比较对象。此方法的返回值类型设计为int类型。此方法接收一个参数,参数类型为图形类。

    (2)在图形类中实现compareTo()方法,用来比较两个图形的面积大小。

    (3)在测试类中,创建图形类的数组,数组中存放多个圆形、正方形、长方形对象,使用compareTo()方法找出数组中面积最大的图形。

    提示:比较对象时,可以将compareTo()方法的返回值设置为1、0、-1,来代表比较结果,当前对象大、两者相等或者当前对象小。再次提醒,此题涉及的代码全部展示在此题的题号下,与上一题相独立。

    package com.circular;
    
    /**
     * 图形比较面积的接口
     * 
     * @author mopeiwen
     * @version 2019年9月25日 下午6:31:48
     */
    public interface Comparable {
    	/**
    	 * 和另一个图形比较面积
    	 * @param graphical 图形类
    	 * @return 返回1、0、-1(大于为1,相等为0,小于为-1)
    	 */
    	public int compareTo(Graphical graphical);
    
    }
    package com.circular;
    
    /**
     * 抽象图形类
     * 
     * @author anneli
     * @date 2019年9月25日 下午4:44:54
     *
     */
    public abstract class Graphical implements Comparable {
    	private String Color;// 颜色
    	private String isFill;// 是否填充
    
    	public Graphical(String color, String isFill) {
    		this.Color = color;
    		this.isFill = isFill;
    	}
    
    	public String getColor() {
    		return Color;
    	}
    
    	public void setColor(String color) {
    		Color = color;
    	}
    
    	public String isFill() {
    		return isFill;
    	}
    
    	public void setFill(String isFill) {
    		this.isFill = isFill;
    	}
    
    	public Graphical() {
    	}
    
    	@Override
    	public String toString() {
    		return "图形属性 [Color=" + Color + ", isFill=" + isFill + "]";
    	}
    
    	/**
    	 * 重写比较面积的方法
    	 */
    	public int compareTo(Graphical graphical) {
    		if (this.getFigureArea() >= graphical.getFigureArea()) {
    			if (this.getFigureArea() == graphical.getFigureArea()) {
    				return 0;
    			} else {
    				return 1;
    			}
    		} else {
    			return -1;
    		}
    	}
    
    	/**
    	 * 获得图形面积
    	 */
    	public abstract double getFigureArea();
    
    	/**
    	 * 获得图形周长
    	 */
    	public abstract double getFigureCirs();
    
    }
    
    package com.circular;
    
    /**
     * 圆形类
     * 
     * @author anneli
     * @date 2019年9月25日 下午5:19:43
     *
     */
    public class Circular extends Graphical {
    	private double Radius;
    
    	public Circular() {
    	}
    
    	public double getRadius() {
    		return Radius;
    	}
    
    	public void setRadius(double radius) {
    		Radius = radius;
    	}
    
    	public Circular(String color, String isFill, double radius) {
    		super(color, isFill);
    		this.Radius = radius;
    	}
    
    	@Override
    	public double getFigureArea() {
    		System.out.println("圆形面积:" + Radius * Radius * Math.PI);
    		return Radius * Radius * Math.PI;
    
    	}
    
    	@Override
    	public double getFigureCirs() {
    		System.out.println("圆形面积:" + Radius * 2.0 * Math.PI);
    		return Radius * 2.0 * Math.PI;
    
    	}
    
    	@Override
    	public String toString() {
    		return "Circular [Radius=" + Radius + ", getColor()=" + getColor() + ", isFill()=" + isFill() + "]";
    	}
    
    }
    
    package com.circular;
    
    /**
     * 长方形类
     * 
     * @author anneli
     * @date 2019年9月25日 下午5:20:06
     *
     */
    public class Rectangle extends Graphical {
    	private double Width;
    	private double Height;
    
    	public double getWidth() {
    		return Width;
    	}
    
    	public void setWidth(double width) {
    		Width = width;
    	}
    
    	public double getHeight() {
    		return Height;
    	}
    
    	public void setHeight(double height) {
    		Height = height;
    	}
    
    	public Rectangle() {
    
    	}
    
    	public Rectangle(String color, String isFill, double width, double height) {
    		super(color, isFill);
    		this.Width = width;
    		this.Height = height;
    	}
    
    	@Override
    	public double getFigureArea() {
    		System.out.println("长方形面积:" + Width * Height);
    		return Width * Height;
    
    	}
    
    	@Override
    	public double getFigureCirs() {
    		System.out.println("长方形周长:" + (2 * Width + 2 * Height));
    		return (2 * Width + 2 * Height);
    
    	}
    
    	@Override
    	public String toString() {
    		return "Rectangle [Width=" + Width + ", Height=" + Height + ", getColor()=" + getColor() + ", isFill()="
    				+ isFill() + "]";
    	}
    
    }
    
    package com.circular;
    
    /**
     * 正方形类
     * 
     * @author anneli
     * @date 2019年9月25日 下午5:20:17
     *
     */
    public class Square extends Graphical {
    	private double Width;
    
    	public double getWidth() {
    		return Width;
    	}
    
    	public void setWidth(double width) {
    		Width = width;
    	}
    
    	public Square() {
    	}
    
    	public Square(String color, String isFill, double width) {
    		super(color, isFill);
    		this.Width = width;
    	}
    
    	@Override
    	public double getFigureArea() {
    		System.out.println("正方形面积:" + Width * Width);
    		return Width * Width;
    
    	}
    
    	@Override
    	public double getFigureCirs() {
    		System.out.println("正方形周长:" + 4.0 * Width);
    		return 4.0 * Width;
    
    	}
    
    	@Override
    	public String toString() {
    		return "Square [Width=" + Width + ", getColor()=" + getColor() + ", isFill()=" + isFill() + "]";
    	}
    
    }
    
    package com.circular;
    
    /**
     * 画板类 生成图形并打印
     * 
     * @author anneli
     * @date 2019年9月25日 下午5:20:31
     *
     */
    public class Drawing {
    
    	public static void main(String[] args) {
    		Circular circular = new Circular("绿色", "填充", 3.0);// 圆形
    		Rectangle rectangle = new Rectangle("红色", "无填充", 10.0, 5.0);// 长方形
    		Square square = new Square("黄色", "无填充", 4.0);// 正方形
    
    		circular.getFigureArea();
    		circular.getFigureCirs();
    
    		rectangle.getFigureArea();
    		rectangle.getFigureCirs();
    
    		square.getFigureArea();
    		square.getFigureCirs();
    
    		System.out.println(circular);
    		System.out.println(rectangle);
    		System.out.println(square);
    	}
    
    }
    package com.circular;
    
    /**
     * 类的描述
     * 
     * @author mopeiwen
     * @version 2019年9月25日 下午6:58:46
     */
    public class Main {
    	public static void main(String[] args) {
    		Graphical[] graphicals = new Graphical[10];
    		
    		graphicals[0] = new Circular("红色","填充",3.0);
    		graphicals[1] = new Circular("红色","填充",4.0);
    		graphicals[2] = new Circular("红色","填充",5.0);
    		
    		graphicals[3] = new Rectangle("绿色","填充",3.0,4.0);
    		graphicals[4] = new Rectangle("绿色","填充",2.0,6.0);
    		graphicals[5] = new Rectangle("绿色","填充",3.0,5.0);
    		
    		graphicals[6] = new Square("蓝色","填充",1.0);
    		graphicals[7] = new Square("蓝色","填充",2.0);
    		graphicals[8] = new Square("蓝色","填充",3.0);
    		graphicals[9] = new Square("蓝色","填充",4.0);
    		
    		Graphical graTest = null;
    		
    		for (int i = 0; i < graphicals.length; i++) {
    			if (i==0) {
    				graTest = graphicals[i];
    			}
    			else{
    				if (graTest.compareTo(graphicals[i])==-1) {
    					graTest = graphicals[i];
    				}
    			}
    		}
    		System.out.println(graTest.getFigureArea());
    	}
    }
    

     

    展开全文
  • java中图形类面积周长以及比较

    千次阅读 2019-09-28 16:56:57
    此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽高,可以根据宽高来计算矩形的面积和周长。 1、编写Java程序。 (1)使用继承机制,分别设计实现抽象基类图形类,派生类...

    在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。
    1、编写Java程序。
    (1)使用继承机制,分别设计实现抽象基类图形类,派生类圆形类、正方形类、长方形类,要求:
    ①抽象图形类中有方法获取图形面积、获取图形周长等;
    ②使用构造方法为其成员属性赋初值;
    ③在每个派生类中都重写toString()方法,返回所有属性的信息;
    ④根据文字描述合理设计类的其他成员属性和方法。
    (2)设计实现画板类,要求:
    分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。
    2、基于上题背景,设计实现以下程序:
    (1)设计Comparable接口,接口中设计compareTo()方法,用来比较对象。此方法的返回值类型设计为int类型。此方法接收一个参数,参数类型为图形类。
    (2)在图形类中实现compareTo()方法,用来比较两个图形的面积大小。
    (3)在测试类中,创建图形类的数组,数组中存放多个圆形、正方形、长方形对象,使用compareTo()方法找出数组中面积最大的图形。
    提示:比较对象时,可以将compareTo()方法的返回值设置为1、0、-1,来代表比较结果,当前对象大、两者相等或者当前对象小。再次提醒,此题涉及的代码全部展示在此题的题号下,与上一题相独立。
    首先,定义一个图形类(抽象类)

    package com.abstracts;
    
    public abstract class Graphs implements Comparable{
    	public String color;
    	public boolean fill;
    	
    	public abstract double area();
    	public abstract double perimeter();
    	
    	public String getColor() {
    		return color;
    	}
    	public void setColor(String color) {
    		this.color = color;
    	}
    	public boolean isFill() {
    		return fill;
    	}
    	public void setFill(boolean fill) {
    		this.fill = fill;
    	}
    	@Override
    	public int comparTo(Graphs swap) {
    		int i=0;
    		if(this.area()>swap.area()){
    			i=1;
    		}else if(this.area()<swap.area()){
    			i=-1;
    		}else{
    			i=0;
    		}
    		return i;
    	}
    	
    }
    

    其次定三个子类

    package com.abstracts;
    /**
     * 
     * @Description: 圆形继承抽象类
     */
    public class Circle extends Graphs {
    
    	private double r;
    	
    	public Circle(double r) {
    		super();
    		this.r = r;
    	}
    
    	public double getR() {
    		return r;
    	}
    
    	public void setR(double r) {
    		this.r = r;
    	}
    
    	@Override
    	public double area() {
    		return Math.PI * r * r;
    
    	}
    
    	@Override
    	public double perimeter() {
    		return 2 * Math.PI * r;
    
    	}
    
    	@Override
    	public String toString() {
    		return "Circle [r=" + r + "]";
    	}
    
    }
    
    package com.abstracts;
    /**
     * 
     * @Description: 长方形继承抽象类
     */
    public class Rectangles extends Graphs{
    	private double length;
    	private double width;
    	//创造构造方法,可以在实例化的时候直接初始化
    	public Rectangles(double length, double width) {
    		super();
    		this.length = length;
    		this.width = width;
    	}
    
    	public double getLength() {
    		return length;
    	}
    
    	public void setLength(double length) {
    		this.length = length;
    	}
    
    	public double getWidth() {
    		return width;
    	}
    
    	public void setWidth(double width) {
    		this.width = width;
    	}
    
    	@Override
    	public double area() {
    
    		return length * width;
    	}
    
    	@Override
    	public double perimeter() {
    
    		return (length + width) * 2;
    	}
    
    	@Override
    	public String toString() {
    		return "Rectangles [length=" + length + ", width=" + width + "]";
    	}
    
    }
    
    package com.abstracts;
    /**
     * 
     * @Description: 正方形继承抽象类
     */
    public class Square extends Graphs{
    	private double side;
    	
    	public Square(double side) {
    		super();
    		this.side = side;
    	}
    
    	public double getSide() {
    		return side;
    	}
    
    	public void setSide(double side) {
    		this.side = side;
    	}
    
    	@Override
    	public double area() {
    		
    		return side *side;
    	}
    
    	@Override
    	public double perimeter() {
    		
    		return side * 4;
    	}
    
    	@Override
    	public String toString() {
    		return "Square [side=" + side + "]";
    	}
    	
    
    }
    

    然后写一个接口,并实现

    package com.abstracts;
    
    public interface Comparable {
    	public int comparTo(Graphs swap);
    }
    

    最后定义一个测试类,

    package com.abstracts;
    
    import java.awt.Rectangle;
    
    public class TestGraphs {
    
    	public static void main(String[] args) {
    		//使用多肽的形式实例化图形类
    		Graphs circle = new Circle(3.0);
    		Graphs rectangles = new Rectangles(3.0,4.0);
    		Graphs square = new Square(4.0);
    		
    		/*Circle c = new Circle(3.0);
    		System.out.println(c.area());
    		System.out.println(c.perimeter());
    		Rectangles r = new Rectangles(2, 3);
    		System.out.println(r.area());
    		System.out.println(r.perimeter());
    		Square s = new Square(4);
    		System.out.println(s.area());
    		System.out.println(s.perimeter());*/
    		Graphs[] g=new Graphs[10];
    		for(int i = 0;i<4;i++){
    			Circle c=new Circle(3.0+i);
    			g[i]=c;
    			
    		}
    		for(int i = 4;i<6;i++){
    			Square s=new Square(5.0+i);
    			g[i]=s;
    		}
    		for(int i = 6;i<10;i++){
    			Rectangles r=new Rectangles(2.0+i,3.0+i);
    			g[i]=r;
    		}
    		Graphs max=g[0];
    		for(int i=0;i<=g.length-1;i++){
    			if(max.comparTo(g[i]) == -1){
    				max=g[i];
    			}
    			
    		}
    		System.out.println(max.toString()+max.area());
    	}
    
    }
    
    
    展开全文
  • 3. 经历图形大小比较,建立面积概念、1平方厘米的量感。教学重点:计算长方形、正方形的面积教学难点:理解长方形、正方形的面积计算方法。教学过程:一、复习周长提问:谁能说一说、指一指长方形、正方形的周长?...
  • 长度单位和面积单位的单位不同,无法比较。2、比较两个图形面积的大小,要用统一的面积单位来测量。3、 ①边长1厘米的正方形,面积是1平方厘米; ②边长1分米的正方形,面积是1平方分米; ③边长1米的正方形,面积...
  • 长方形、正方形知识点汇总1、...长度单位和面积单位的单位不同,无法比较。2、认识面积单位:平方米 (m²) 平方分米(dm²) 平方厘米(cm²)3、面积单位的换算1平方米=100平方分米1平方分米=100平方厘米1平方米=1...
  • 注:面积和周长是不能相比较的;分清楚什么时候填长度单位,什么时候填面积单位。三、比较两个图形面积大小要用统一的面积单位来测量和比较。四、常用的面积单位有平方厘米(cm2);平方分米(dm2);平方米(m2)。1....
  • 注:面积和周长是不能相比较的;分清楚什么时候填长度单位,什么时候填面积单位。三、比较两个图形面积大小要用统一的面积单位来测量和比较。四、常用的面积单位有平方厘米(cm2);平方分米(dm2);平方米(m2)...
  • FLASH制作计算正方形周长和面积(AS3)-百度经验​jingyan.baidu.comAnimate/FLASH如何判断素数(AS3)-百度经验​jingyan.baidu.com适用软件:Animate CC及其它支持AS3脚本的FLASH软件制作方法:1.这里用的是...
  • 体会周长和面积的不同。 2.经历比较两个图形面积大小和不同图形作单位度量面积的过程,体验比较策略的多样性,知道确定面积单位的方法,培养初步的度量意识。 3.使学生体验同一单位的必要性,感受用正方形作面积单位...
  • 计算长方形 正方形 圆形的周长和面积比较两个图形面积的大小 1.Circle圆类 public class Circle extends Graph{ private double radius; private double PI; private double Area; private double Girth; ...
  • 角形继承抽象类,实现求周长和面积的计算。在主类中分别计算圆、长方形、三角形的面积和周长。 2.在第一题的基础上,为Shape增加抽象方法String compareto(Object a),比较两个形状面积大小,返回 字符结果。...
  • python基本习题练习(一)

    万次阅读 多人点赞 2019-03-28 15:08:17
    给一个半径,求圆的面积和周长。圆周率为3.14 #给一个半径,求圆的面积和周长。圆周率为3.14 r = float(input("请输入元的半径:")) print(f"圆的面积为:{3.14*r**2},元的周长为:{2*3.14*r}") 输入两个数,...
  • 5.求长方形的面积和周长 6.求正方形的面积和周长 7.求圆的面积和周长 8.求n! 9.比较两个数的大小 10.比较两个字符串的大小 11.求若干学生一门课的成绩总和、平均成绩、最高成绩、最低成绩等。 12.求若干数的最大值...
  • python基础练习_1.2

    2017-11-27 13:35:00
    练习_1.2 练习: 输入两个数,比较大小后,...给一个半径,求圆的面积和周长.圆周率3.14 输入n个数,求每次输入后的算数平均数 - 输入两个数,比较大小后,从小到大升序打印a=int(input('first:')) b=int(input('second:...
  • Python习题作业

    2020-03-23 14:52:38
    一. 习题 1, 给一个半径,求圆的面积和周长 r = int(input('半径=:')) ...2, 输入两个数比较大小之后,从小到大升序打印 a = input('请输入第一个数字:') b = input('请输入第二个数字:') if a > b: print(b) ...
  •  3、使学生牢固地掌握所学的几何形体的特征,能够比较熟练地计算一些几何形体的周长面积和体积,巩固所学的简单的画图、测量等技能。 4、使学生掌握所学的统计知识,能够看绘制简单的统计图表,并且能够计算.....
  • 7-1 计算 11+12+13+...+m 7-2 计算分段函数[1] )7-3 阶梯电价 7-4 求奇数分之一序列前N项 (15分)7-5 求交错序列前N项 7-6 产生每位数字相同的n位数 7-7 转换函数使用 7-8 比较大小 7-9 输出华氏-摄氏温度转换表 ...
  • python练习题

    2020-03-25 17:21:16
    1、给一个半径,求圆的面积和周长,圆周率3.14 radius = int(input('radius = ')) print('area = ', 3.14 * radius **2) print('circumference = ', 3.14 * 2 * radius) 2、输入两个数,比较大小后,从小到大升序...
  • 开启菜鸟的python之旅

    2019-07-27 19:40:52
    给一个半径,求圆的面积和周长 r = int(input('plz input a nunber:')) p = 2 * 3.14 * r s = 3.14 * r ** r print('The premeter of circle is %d'%p) print('The square of circle is %d'%s) #输入两个数比较大小...
  • 第2章-8 转换函数使用第2章-9 比较大小第2章-10 输出华氏-摄氏温度转换表第2章-11 求平方与倒数序列的部分第2章-12 输出三角形面积和周长 第2章-8 转换函数使用 输入一个整数进制,转换成十进制输出 输入格式: ...
  • python入门练习

    2019-01-03 19:54:13
    给一个半径,求圆的面积和周长。π为3.14 r = int(input('R=')) print('S='+str(3.14*r*r)) print('C='+str(2*3.14*r)) 输出结果 r=7 area=153.86 cir=43.96 没什么说的熟悉一下...
  • phtyon第二周笔记

    2020-04-13 16:20:06
    给一个半径,求圆的面积和周长。 输入两个数,比较大小后,从小到大打印 依次输入若干个整数,打印出最大值。如果输入为空,则退出程序 个定一个不超过五位数的正整数(不转换为字符串),判断该数的位数,依次...
  • C#初学练习程序

    2011-11-03 14:20:32
    1.编写一个类,要求从控制台输入长方形的长和宽,计算面积和周长并且输出到控制台。 2.编写一个类,要求从控制台输入年份,计算输入的年份是否为闰年,闰年的判断是能被4整除并且不能被100整除,或者是能被400整除...
  • GSP5.exe

    2020-04-01 09:16:40
    [度量] 选中三角形内部后,在“度量”菜单中“面积周长”命令,度量三角形面积周长。利用“显示”菜单中“参数选择”命令,可以进行“对象参数”设置。 [计算] “度量”菜单的“计算”命令可以对对象的值...
  • c语言经典案例

    2014-10-30 08:06:57
    实例186 用指向函数的指针比较大小 263 实例187 寻找指定元素的指针 265 实例188 字符串的匹配 266 第12章 常用数据结构 269 实例189 比较计数 270 实例190 找出最高分 271 实例191 信息查询 272 实例192 候选人选票...
  • surfer 9.11汉化版.part2

    热门讨论 2011-03-23 08:44:20
    5、在多边形的属性中的信息一项中,显示多边形的面积和周长(图4),现在可以方便计算某 一个区的面积了(只是还得需要造一个多边形区来查看它的属性才能得到这些信息,以后 会不会像其他软件一样,直接有一个面积...
  • 5、在多边形的属性中的信息一项中,显示多边形的面积和周长(图4),现在可以方便计算某 一个区的面积了(只是还得需要造一个多边形区来查看它的属性才能得到这些信息,以后 会不会像其他软件一样,直接有一个面积...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

周长和面积比较大小