我想优化下 就是只要输入一次半径 他的周长和面积就一次性出来了,有没有大佬指点下

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

qq_丶Ant灬_0

2019-08-03 15:44


package package01;


import java.util.Scanner;


public class Circular extends Graph {


@SuppressWarnings("resource")

public void zhouchang() {

Scanner input=new Scanner(System.in);

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

int r=input.nextInt();

System.out.println("圆的周长为:"+(3.14*r));

}

@SuppressWarnings("resource")

public void mianji() {

Scanner input=new Scanner(System.in);

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

int r=input.nextInt();

System.out.println("圆的面积为:"+(2*3.14*r));

}


}


写回答 关注

5回答

  • 慕勒5542947
    2019-08-13 09:28:05
    已采纳

    package imooc;

    import java.util.Scanner;

    public class Circle extends Shape {

    Scanner input=new Scanner(System.in);

    int r=input.nextInt();

    @Override

    public void Girth() {

    // TODO Auto-generated method stub

    System.out.println("圆形周长为:"+2*3.14*r);

    }

    @Override

    public void Area() {

    // TODO Auto-generated method stub

    System.out.println("圆形面积为:"+3.14*r*r);

    }

    }

    把输入放于类中,而不是方法中,这样两个方法都可以使用这个全局变量,在矩形中也同样,主函数代码如下:

    package imooc;

    public class Initial {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Shape t1 = new Rectangle();

    //Shape t2 = new Circle();

    t1.Girth();

    t1.Area();

    Shape t2 = new Circle();

    t2.Girth();

    t2.Area();

    }

    }

    运行结果如图:

    https://img2.mukewang.com/5d5212140001d88803120257.jpg


  • 缃缝
    2019-12-06 10:49:41

    http://img2.mukewang.com/5de9c1670001cd4109120174.jpg

    为什么我这样输不行呢,不让我println,说是 <identifier> expected,没搞懂什么意思。把print这行注视掉又可以了。为什么呢?


  • qq_丶Ant灬_0
    2019-08-05 16:37:29


    这个和上面那个兄弟差不多,治标不治本,的确是一次性输出了周长和面积,但是这只是完成了圆的Sa()方法,那之后得再实现一次圆的Ca()方法,控制台才能跳到矩形的方法上,辛苦了 谢谢哈


  • qq_流年哎_nyzFIJ
    2019-08-04 20:08:24

    https://img3.mukewang.com/5d46caa700015fa306980918.jpg可以的

  • Ai590
    2019-08-03 16:04:30

    public void zhouchang() {

    Scanner input=new Scanner(System.in);

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

    int r=input.nextInt();

    System.out.println("圆的周长为:"+(3.14*r));

    System.out.println("圆的面积为:"+(2*3.14*r));

    }


    qq_丶An...

    这个我试过了 这个r只在周长方法里有效 在下面的面积方法里就不行了的 谢谢哈

    2019-08-03 16:06:35

    共 1 条回复 >

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题