【牛客带你学编程Java方向】项目练习第4期(截止3.27)

    
Java项目练习:第4期
练习时间:3月13日-3月27日(2周)
活动规则:
  • 每一期一个项目,届时会开新帖发布
  • 学员直接将答案提交到该贴评论区即可
  • 两周后,公布导师参考答案
  • 导师评选出当期最佳代码(将被设置为精彩回复

奖励:牛客大礼包一份(牛客定制水杯 牛客定制笔 牛客定制程序员徽章 滑稽抱枕)
参与方式:直接将你的代码回复到本帖评论区

-----------------------------------------------------

本期题目:

接口实现(15分钟)

需求描述:

设计一个Shape接口和它的两个实现类Square和Circle,要求如下:
  1. Shape接口中有一个抽象方法area(),方法接收一个double类型的参数,返回一个double类型的结果。
  2. Square和Circle中实现了Shape接口中的area()抽象方法,分别求正方形和圆形的面积并返回。
  3. 在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。

考察知识点:

  1. 面向对象基础
  2. Java接口基础及其实现
  3. 面向对象的多态特性

参考知识点:《java基础入门》第4章

参与方式:直接将你的代码回复到本帖评论区

全部评论
package com.niuke_1; interface Shape{ public double area(double x); } class Square implements Shape{ public double area(double a){ double area = a*a; return area; } } class Circle implements Shape{ public double area(double r){ double area = Math.PI*r*r; return area; } } public class demo_4 { public static void main(String[] args){ Square sq = new Square(); System.out.println("square area: "+sq.area(2)); Circle ci = new Circle(); System.out.println("circle area: "+ci.area(3)); } }
点赞 回复 分享
发布于 2018-04-11 16:25
/**  * Shape接口  * @author chen  *  */ public interface Shape {     public abstract double area(double d);      } /**  * Square类实现Shape接口  * @author chen  *  */ public class Square implements Shape{     @Override     public double area(double width) {         // TODO Auto-generated method stub         return width*width;     }   } /**  * Circle类实现Shape接口  * @author chen  *  */ public class Circle implements Shape{     @Override     public double area(double radius) {         // TODO Auto-generated method stub         return Math.PI*radius*radius;     } } /**  * 测试类  * @author chen  *  */ public class Test {     @org.junit.Test     public void test(){         Square square = new Square();         System.out.println("正方形边长为2的面积是:"+square.area(2));         Circle circle = new Circle();         System.out.println("半径为3的圆的面积是:"+circle.area(3));     } }
点赞 回复 分享
发布于 2018-03-29 14:20
package exercise1; import java.util.Scanner; interface Shape{     public abstract double area(double data); } class Square implements Shape{     @Override     public double area(double b) {         // TODO Auto-generated method stub         double areas = b*b;         return areas;     }      } class Circle implements Shape{     public double area(double r) {         double areac = 3.14*r*r;         return areac;     } } public class ShapeFour {          public static void main(String[] args) {                  Scanner s= new Scanner(System.in);         Square square = new Square();         Circle circle = new Circle();         System.out.println("input a data: ");         double d = s.nextDouble();         System.out.println("the area of square is: "+square.area(d));         System.out.println("the area of circle is: "+circle.area(d));     } }
点赞 回复 分享
发布于 2018-03-28 15:53
package com.nowcoder.interfaces; // 提供计算几何形状面积方法的接口 interface Shape{ double area(double d); } // 正方形类 class Square implements Shape{ public double area(double length) { if(length < 0) throw new RuntimeException("边长不能为负数!"); return length*length; } } // 圆形类 class Circle implements Shape{ public double area(double radius) { if(radius < 0) throw new RuntimeException("半径不能为负数!"); return Math.PI*radius*radius; } } //测试类 public class Test { // 计算Shape面积的多态方法 public static double area(Shape shape, double d) { return shape.area(d); } public static void main(String[] args) { System.out.println("边长为2的正方形面积为:"+area(new Square(), 2)); System.out.println("半径为3的圆形面积为:"+area(new Circle(), 3)); } }
点赞 回复 分享
发布于 2018-03-18 11:21
``` interface Shape{ double area(double len); } class Square implements Shape{ public double area(double len){ if(len < 0){ return 0; } return len*len; } } class Circle implements Shape{ public double area(double r){ if(r < 0){ return 0; } return r*r*Math.PI; } } ///测试 public class MainTest { @org.junit.Test public void testSquare() throws Exception { Shape square = new Square(); assertEquals(4,square.area(2),0.001); } @org.junit.Test public void testCircle() throws Exception { Shape circle = new Circle(); assertEquals(3*3*Math.PI,circle.area(3),0.001); } }
点赞 回复 分享
发布于 2018-03-16 20:20
Shape接口: /** * @version V 1.0 * @Descriptyion : * @Author:hsfxuebao * @Date 2018/3/14 20:09 * @Modified By : */ public interface Shape { double area(double radius); } Circle类: public class Circle implements Shape { @Override public double area(double radius) { return Math.PI * radius * radius; } } Square类: public class Square implements Shape { @Override public double area(double radius) { return radius * radius; } } 测试方法: public class TestShape { public static void main(String[] args) { Shape circle = new Circle(); Shape square = new Square(); int number = 2; int radius = 3; //计算正方形的面积 System.out.println(square.area(number)); //计算圆形的面积 System.out.println(circle.area(radius)); } } 运行结果: 4.0 28.274333882308138
点赞 回复 分享
发布于 2018-03-14 20:18
public class  Test {     public static void main(String[] args)      {         Sequare s = new Sequare(12);         System.out.println("正方形的面积是:" + s.area(s.getBian()));         Circle c  = new Circle(15);         System.out.println("圆的面积是:" + c.area(c.getRadius()));     } } interface Shape {     double area(double data); } class Sequare implements Shape {     private double bian;     public Sequare(double bian)     {         this.bian = bian;     }     public double getBian()     {         return bian;     }     public double area(double data)     {         return data*data;     } } class Circle implements Shape {     private double radius;     public Circle(double radius)     {         this.radius = radius;     }     public double getRadius()     {         return radius;     }     public double area(double data)     {         return data*data*Math.PI;     } }
点赞 回复 分享
发布于 2018-03-14 20:14
interface Shape { double area(double num); } class Square implements Shape { public double area(double num) { double acreage; acreage = num * num; return acreage; } } class Circle implements Shape { public double area(double num) { double area1; area1 = num * num * 3.14; return area1; } } public class test2 { public static void main(String []args) { Square square = new Square(); Circle circle = new Circle(); System.out.println("正方形的面积为:"+square.area(2)); System.out.println("圆形的面积为:"+circle.area(3)); }
点赞 回复 分享
发布于 2018-03-14 16:21
interface Shape{     public double area(double a); } class Square implements Shape{     @Override     public double area(double a) {         return a*a;     } } class Circle implements Shape{     @Override     public double area(double a) {         return Math.PI*a*a;     } } public class NowerCoder {     public static void main(String[] args) {         Shape circle = new Circle();         System.out.printf("%.2f",circle.area(2.0));         System.out.println();         Shape square = new Square();         System.out.printf("%.2f",square.area(2.0));     } }
点赞 回复 分享
发布于 2018-03-14 14:35
interface Shape {  abstract double area(double param); } class Square implements Shape {  @Override  public double area(double param) {   // TODO 自动生成的方法存根   double length = param;   double area = 2*length;   return area;  } } class Circle implements Shape {  @Override  public double area(double param) {   // TODO 自动生成的方法存根   double radius = param;   double area = Math.PI*radius*2;   return area;  } } public class ShapeTest {  public static void main(String[] args) {   Shape sSquare = new Square();   Shape sCircle = new Circle();   System.out.println("边长为2的正方形面积为:"+sSquare.area(2));   System.out.println("半径为3的圆形面积为:"+sCircle.area(3));  } }
点赞 回复 分享
发布于 2018-03-13 22:38
interface Shape{ double area(double temp); } class Square implements Shape{ public double area(double sl){ return sl*sl; } } class Circle implements Shape{ public double area(double sr){ return Math.PI*sr*sr; } } public class NewCoder4{ public static void main(String[] args){ Shape square = new Square(); System.out.println("正方形的面积是:"+square.area(2)); Shape circle = new Circle(); System.out.println("圆形的面积是:"+circle.area(3)); } }
点赞 回复 分享
发布于 2018-03-13 22:34
interface Shape {  double area(double a);   } class Square implements Shape{   public double area(double a) {      return a*a;       }} class Circle implements Shape{   public double area(double a) {      return 3.14159*a*a;       }} public class tt {     public static void main(String [] args){         Shape a=new Square();         Shape b=new Circle();         calarea(a,2);         calarea(b,3);     }     public static void calarea(Shape shape,double c){         System.out.println(shape.area(c));     } }
点赞 回复 分享
发布于 2018-03-13 20:41
import java.util.Scanner; public class Test_4 {     public static void main(String[]args) {         Shape[] shs={new Square(),new Circle()};         Scanner sc=new Scanner(System.in);         double temp;         String st="数据不合理,无法计算";                  System.out.print("请输入正方形边长:");         temp=sc.nextDouble();         System.out.println(isReasonable(temp)?"正方形面积为:"+shs[0].area(temp):st);                  System.out.print("\n请输入圆形半径:");         temp=sc.nextDouble();         System.out.println(isReasonable(temp)?"圆形面积为:"+shs[1].area(temp):st);     }     public static boolean isReasonable(double temp) {         if(temp<=0) {             return false;         }else {             return true;         }     } } interface Shape{     double area(double temp); } class Square implements Shape{     public double area(double temp) {         return temp*temp;     } } class Circle implements Shape{     public double area(double temp) {         return Math.pow(temp, 2)*Math.PI;     } }
点赞 回复 分享
发布于 2018-03-13 20:08
public class TestMain {          public static void main(String[]args) {         double length = 2;//正方形长度         double breadth = 2; //正方形宽度         double r = 3; //圆的半径         double PI = 3.14;         Square Sqacreage = new Square();         Circle Ciacreage = new Circle();                  System.out.println("正方形的面积为:"+Sqacreage.area(length,breadth));              System.out.print("圆的面积为:"+Ciacreage.area(r, PI ));     }               /**      *       * @Shape接口      *      */     interface Shape{         public abstract double area(double length,double breadth);     }          /**      *       * @Square class 计算正方形面积      *      */     static class Square implements Shape{         public double area(double length,double breadth) {             return length*breadth;         }     }          /**      * @Circle class 计算圆的面积      */          static class Circle implements Shape{         public double area(double r,double PI) {             PI = 3.14;             return PI*r*r;         }     } }
点赞 回复 分享
发布于 2018-03-13 16:30
Shape接口: package Practise; public interface Shape {     /**      * @param value      * @return      */     abstract double area(double value); } -------------------------------------------------------------------------------------------------------- 正方形类: package Practise; class Square implements Shape{     @Override     public double area(double length) {         return length*length;     } } -------------------------------------------------------------------------------------------------------------  圆形类: package Practise; class Circle implements Shape{     @Override     public double area(double radius) {         return radius*radius*Math.PI;     }          } --------------------------------------------------------------------------------------------------------- 测试类: package Practise; public class ShapeArea {          public static void main(String[] args) {         Shape square = new Square();         Shape circle = new Circle();         System.out.println("Square area is " + square.area(3));         System.out.println("Circle area is " + circle.area(2));     }      } --------------------------------------------------------------------------------------------------------- 结果: Square area is 9.0 Circle area is 12.566370614359172
点赞 回复 分享
发布于 2018-03-13 14:48
public class FourDemo {     public static void main(String[] args) {         System.out.println("square area:"+new Square().area(2));         System.out.println("circle area:"+new Circle().area(3));     } } interface Shape{     double area(double d); } class Square implements Shape{     @Override     public double area(double d) {                  return d*d;     } } class Circle implements Shape{     public double area(double d) {         return Math.PI*d*d;     }      }
点赞 回复 分享
发布于 2018-03-13 14:35
package javaDemo; public class TestDemo { public static void main(String []args){ System.out.println("Square's area:\t"+(new Square()).area(2)); System.out.println("Circle's area:\t"+(new Circle()).area(3)); } } interface Shape{ abstract double area(double one); } class Square implements Shape{ public double area(double one){ return one*one; } } class Circle implements Shape{ public double area(double two){ return Math.PI*Math.pow(two,2); } }
点赞 回复 分享
发布于 2018-03-13 11:16
package demo; //创建Shape接口 interface Shape { public double area(double number); } // 计算正方形面积 class Square implements Shape { // 计算正方形面积 @Override public double area(double r) { // TODO 自动生成的方法存根 return r * r; } } // 计算圆形面积 class Circle implements Shape { @Override public double area(double r) { // TODO 自动生成的方法存根 return Math.PI * r * r; } } public class Project4{ public static void main(String[] args) { // TODO 自动生成的方法存根 Square Chart1 = new Square(); System.out.println("边长为2的正方形面积为:" + Chart1.area(2)); Circle Chart2 = new Circle(); System.out.println("半径为3的圆形面积为:" + Chart2.area(3)); } }
点赞 回复 分享
发布于 2018-03-13 11:15
啰嗦大王的代码来了: IShape /**  *   */ package com.finersoft.nowcoder04; /**  * 名称:形状接口  * 说明:  * @author Finersoft  * @date 2018年3月13日  */ public interface IShape {     /**      * 计算形状的面积      * @param radius      * @return 形状的面积      */     public double area(double radius); } Circle /**  *   */ package com.finersoft.nowcoder04; /**  * 名称:圆 说明:  *   * @author Finersoft  * @date 2018年3月13日  */ public class Circle implements IShape {     /**      * 计算圆的面积      * @param radius      * @return 圆的面积      * @see com.finersoft.nowcoder04.IShape#area(double)      */     @Override     public double area(double radius) {         if (radius < 0) {             return 0;         }         return Math.PI * Math.pow(radius, 2);     } } Square /**  *   */ package com.finersoft.nowcoder04; /**  * 名称:  * 说明:  * @author Finersoft  * @date 2018年3月13日  */ public class Square implements IShape{     /**      * 计算正方形的面积      * @param radius 正方形边长的一半,这是我定义的哈,亲们可以自己设定,但是参数说明要讲清楚      * @return 正方形的面积      * @see com.finersoft.nowcoder04.IShape#area(double)      */     @Override     public double area(double radius) {         if(radius<0)         {             return 0;          }         double sideLength = radius*2;         return Math.pow(sideLength, 2);     } } TestShape /**  *   */ package com.finersoft.nowcoder04; /**  * 名称:  * 链接:https://www.nowcoder.com/discuss/68639  * 来源:牛客网  *   * 本期题目:  *   * 接口实现(15分钟)  *   * 需求描述:  *   * 设计一个Shape接口和它的两个实现类Square和Circle,要求如下:  * Shape接口中有一个抽象方法area(),方法接收一个double类型的参数,返回一个double类型的结果。  * Square和Circle中实现了Shape接口中的area()抽象方法,分别求正方向和圆形的面积并返回。  * 在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。  *   * 考察知识点:  *   * 面向对象基础  * Java接口基础及其实现  * 面向对象的多态特性  *   * 参考知识点:《java基础入门》第4章  * @author Finersoft  * @date 2018年3月13日  */ public class TestShape {     /**      * @param args      */     public static void main(String[] args) {         IShape circle = new Circle();         IShape square = new Square ();                  System.out.println(circle.area(10));         System.out.println(square.area(100));     } } 输出  314.1592653589793 40000.0
点赞 回复 分享
发布于 2018-03-13 11:14
package cn.exercise; //创建测试类 public class Demo4Test {     public static void main(String[] args) {         double len = 2;         double r = 3;         Square sq = new Square();//Square类实例化         Circle ci = new Circle();         System.out.println("边长为" + len + "的正方形面积为:" + sq.area(len));         System.out.println("半径为" + r + "的圆形面积为" + ci.area(r));     } } //创建接口 interface Shape {     public abstract double area(double len); } //创建正方形类并覆盖接口中的抽象方法 class Square implements Shape {     double len;     public double area(double len) {         return len * len;     } } //创建圆形类 class Circle implements Shape {     double r;     public double area(double r) {         return Math.PI * r * r;     } }
点赞 回复 分享
发布于 2018-03-13 10:51

相关推荐

10-23 21:54
中南大学 Java
点赞 评论 收藏
分享
karis_aqa:和hr没关系,都是打工的
点赞 评论 收藏
分享
评论
3
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务