| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 663 人关注过本帖
标题:通过覆盖父类中的抽象方法area()来求圆的面积和周长
只看楼主 加入收藏
yueqi933
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
通过覆盖父类中的抽象方法area()来求圆的面积和周长
建立一个抽象类 Area类,两个抽象类的派生子类RectArea类和RoundArea类,以及一个实现类ImpleArea类。要求如下:
(1)抽象类Area类中只包含两个抽象方法double area();
和double girth();
(2)子类RoundArea通过覆盖父类中的抽象方法area()来求圆的面积和周长,另一子类RectArea()求长方形的面积和周长。
(3)圆的半径和长方形的长宽都定义为子类RoundArea和RectArea的域,为double类型。
(4)ImpleArea类接受键盘输入,输入长方形的长宽和圆的半径,求出圆的面积,并在屏幕上显示。
我写的不过不知道哪里错了,可以帮忙纠错一下吗?然后还有没有别的方法做这道题啊?
import java.util.Scanner;   
abstract class Area{   
      abstract double area();  
class RoundArea extends Area{
      private double r;            
      public double area(){         
          return (r*r*Math.PI);
      }   
      public double girth(){        
          return (2*Math.PI*r);     
      }
      public RoundArea(int r){
          this.r=(double)r;
      }
}

class RectArea extends Area{
     private double width;         
     private double height;
     public double area(){
         return (width*height);
     }   
     public double girth(){
     return (2*width+2*height);
     }
     public RectArea(int width,int height){
        this.width=(double)width;
        this.height=(double)height;
     }
}

public class ImpleArea{
    public void main(String[] args){
         String[] str=new String[]{"","",""};
         int[] ins=new int[3];
         for(int i=0;i<3;i++){
      try{
         @SuppressWarnings("resource")
        Scanner s=new Scanner(System.in);
         System.out.println(str[i]);
         ins[i]=s.nextInt();
         }
      catch(java.util.InputMismatchException e){
     System.out.print("");
         i--;  
     }
       }
         RoundArea roa=new RoundArea(ins[0]);
         RectArea rea=new RectArea(ins[1],ins[2]);
         System.out.println("'"+roa.area()+"','"+roa.girth()+"'");
     System.out.println(":'"+rea.area()+"','"+rea.girth()+"'");
      
    }
}
}
搜索更多相关主题的帖子: double 长方形 
2013-05-28 12:00
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
收藏
得分:20 
注意你的大括号的位置
程序代码:
import java.util.Scanner;   
abstract class Area{   
      abstract void area();  
      abstract void girth();
}
class RoundArea extends Area{ 
    
    private double r;  
    
    public double getR() {
        return r;
    }
    public void setR(double r) {
        this.r = r;
    }
              
      public void area(){         
          System.out.println("圆的的面积是: "+ (r*r*Math.PI));
      }    
      public void girth(){        
          System.out.println("圆的的周长是: "+(2*Math.PI*r));     
      }
}

class RectArea extends Area{
     private double width;         
     private double height;
     public void area(){
         System.out.println("矩形的面积是: "+(width*height));
     }    
     public void girth(){
     System.out.println(" 矩形的周长是: "+(2*width+2*height));
     }
    public double getWidth() {
        return width;
    }
    public void setWidth(double width) {
        this.width = width;
    }
    public double getHeight() {
        return height;
    }
    public void setHeight(double height) {
        this.height = height;
    }
}

public class ImpleArea{
    RoundArea round;
    RectArea  rect;
    Scanner s;
    public ImpleArea(){
        s=new Scanner(System.in);
        round =new RoundArea();
        rect =new  RectArea();
    }
    
    public void PutInR(){
          System.out.println("请输入圆的半径");
          round.setR(s.nextDouble());
    }
    public void PutInWh(){
        System.out.println("请输入矩形的高");
        rect.setHeight(s.nextDouble());
        System.out.println("请输入矩形的宽");
        rect.setWidth(s.nextDouble());    
    }
    public static  void main(String[] args){
         ImpleArea ia=new ImpleArea();
         ia.PutInR();
         ia.round.area();
         ia.round.girth();
         ia.PutInWh();
         ia.rect.area();
         ia.rect.girth();
    }
}
2013-05-28 16:43
快速回复:通过覆盖父类中的抽象方法area()来求圆的面积和周长
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012438 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved