为了账号安全,请及时绑定邮箱和手机立即绑定

思考题练习

package com.imooc;

public abstract class Shape {
   public abstract void perimeter();//求周长
   public abstract void area();//求面积
   
}
package com.imooc;
import java.util.Scanner;
public class Rectangle extends Shape {
    
   
    
	public void perimeter() {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入矩形的宽:");
		float width = input.nextFloat();
		System.out.println("请输入矩形的长:");
		float length=input.nextFloat();
		System.out.println("矩形的周长为:"+2*(width+length));

	}

	public void area() {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入矩形的宽:");
		float width=input.nextFloat();
		System.out.println("请输入矩形的长:");
		float length=input.nextFloat();
		 System.out.println("矩形的面积为:"+width*length);

	}

}
package com.imooc;
import java.util.Scanner;
public class Circle extends Shape {
	
	
	public void perimeter() {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入圆形的半径:");
		float radius=input.nextFloat();
		System.out.println("圆形的周长为:"+radius*2*3.14);
	}

	public void area() {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入圆形的半径:");
		float radius=input.nextFloat();
		System.out.println("圆形的面积:"+3.14*radius*radius); 
	}

}
package com.imooc;

public class Initial {

	public static void main(String[] args) {
		Shape s1=new Rectangle();
		s1.perimeter();
		s1.area();
		
		
		Shape s2=new Circle();
		s2.perimeter();
		s2.area();

	}

}


正在回答

3 回答

可以使用一个方法简写直接输出周长和面积

public abstract class Shape {

  public abstract void get();//求周长和面积

}




import java.util.Scanner;

public class Rectangle extends Shape {     

    public void get() {

        Scanner input = new Scanner(System.in);

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

        float width = input.nextFloat();

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

        float length=input.nextFloat();

        System.out.println("矩形的周长为:"+2*(width+length));

        System.out.println("矩形的面积为:"+width*length);

 

    }

}



import java.util.Scanner;

public class Circle extends Shape {

        public void get() {

        Scanner input = new Scanner(System.in);

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

        float radius=input.nextFloat();

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

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

    }

}



public class Initial { 

    public static void main(String[] args) {

        Shape s1=new Rectangle();

        s1.get();                       

        Shape s2=new Circle();

        s2.get(); 

    }

}


1 回复 有任何疑惑可以回复我~
#1

慕粉3235270 提问者

非常感谢!
2016-06-02 回复 有任何疑惑可以回复我~
#2

三个世界0

为什么我在编译器编译时 在抽象方法哪里报错呢??
2017-01-22 回复 有任何疑惑可以回复我~

哥们感觉你少了input.close();这个语句,没有这个语句会报错在我这

0 回复 有任何疑惑可以回复我~

为什么我打 public class Rectangle extends Shape  这个代码时系统开始报错啊


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

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

进入课程

思考题练习

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信