问答详情
源自:10-3 Java 中的抽象类

我的作业还行吗

package com.imooc;


public abstract class Shape {

 

public abstract void cir();

public abstract void area();

}


package com.imooc;


import java.util.Scanner;


public class Rectangle extends Shape {

  Scanner input=new Scanner(System.in);

  

  

@Override

public void cir() {

// TODO Auto-generated method stub

System.out.println("请输入矩形的长度");

 int a=input.nextInt();

 System.out.println("请输入矩形的宽度");

 int b=input.nextInt();

      int cir=(a+b)*2;

      System.out.println("该矩形的周长为"+cir);

}


@Override

public void area() {

// TODO Auto-generated method stub

System.out.println("请输入矩形的长度");

 int a=input.nextInt();

 System.out.println("请输入矩形的宽度");

 int b=input.nextInt();

 int are=a*b;

 System.out.println("a该矩形的面积为"+are);

}


}


package com.imooc;


import java.util.Scanner;


public class Circle extends Shape {

Scanner hhh=new Scanner(System.in);

@Override

public void cir() {

// TODO Auto-generated method stu

System.out.println("请输入圆的半径");

      double r=hhh.nextDouble();

     double zhouchang=2*3.1415926*r; 

    System.out.println("该圆的周长为"+zhouchang);

}


@Override

public void area() {

// TODO Auto-generated method stub

System.out.println("请输入圆的半径");

     double r=hhh.nextDouble();

    double sss=3.1415926*r*r; 

   System.out.println("该圆的面积为"+sss);


}


}


package com.imooc;


public class Test {


public static void main(String[] args) {

// TODO Auto-generated method stub

   Shape aaa=new Rectangle();

   aaa.cir();

   aaa.area();

   Circle ppp=new Circle();

   ppp.cir();

   ppp.area();

}


}


请输入矩形的长度

98

请输入矩形的宽度

65

该矩形的周长为326

请输入矩形的长度

55

请输入矩形的宽度

2

a该矩形的面积为110

请输入圆的半径

2

该圆的周长为12.5663704

请输入圆的半径

8

该圆的面积为201.0619264

 比如求圆的周长和面积的时候 我的是需要输入两次半径 可以优化为输入一次半径就得到周长和面积吗?求解具体方法

提问者:Passionate1 2018-08-02 09:37

个回答

  • shirbing
    2018-08-03 21:44:00
    已采纳

    可以创建两个方法,一个方法用来求周长,一个方法用来求面积,只要在主函数里通过圆对象调用就好了,

    //求周长

    public void methodA(){

    double perimeter=2*this.getR()*3.14;

    System.out.println("此圆的周长为"+perimeter);

    }

    //求面积

    public void methodB(){

    double area=3.14*this.getR()*this.getR;

    System.out.println("此圆的面积是:"+area);

    }

    最后通过创建圆的对象,用对象名  方法名调用即可



  • 慕移动9181930
    2022-03-23 05:59:31

    这个问题你解决了吗我还是不明白阿return?$html