实验内容:
(1)设计一个圆类CircleAbc,该类存在于abc.mycircle包中,它具有以下的属性和方法私有属性:圆半径r,圆心坐标x和y,方法:设置和获取所有私有属性rxy的方法,方法名自定;计算圆周长的方法perimeter();计算圆面积的方法area(),要求直接使用Math类中的PI;
(2)设计一个圆柱体类CylinderAbc,该类存在于abc.mycylinder包中,CylinderAbc继承CircleAbc,它增加了以下属性和方法:私有属性:高度h,方法:设置和获取私有属性h的方法,方法名自定;计算表面积的方法area();计算体积的方法volume();
(3)编写一个JavaApplication程序ComputeAbc.java,用来显示某一个圆柱体中心坐标位置(如图1中的k的位置),高度h,以及它的表面积(不包括两个底的面积)、体积和底面积。要求圆半径r,圆心坐标x和y,以及高度h的值均从命令行输入。z=h=10k(x.y,z=h/2)提示及注意:圆柱体的体积=底面积高;x=6圆柱体的表面积=底面周长高;y=5每一个圆柱体的生成,都是在原有的圆的基础上,添加高度生成的。
图14编写测试类ComputerAbc.java程序,该类能够处理程序中可能出现的所有的异常,并有相应的提示信息,如命令行没有输入,则程序会向控制台输出“命令行没有输入,请输入正确的数值”这样的提示信息;当输入半径(r)3、圆心(x)5、圆心(y)6,高度(h)7时,显示如图2所示结果.
java咋做啊求答案
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
阿里嘎多学长 2024-05-21 11:29关注以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
【您想要解决的问题】: 您提问的目的是要解决如何使用Java语言实现一个包含圆和圆柱体属性与方法的程序。具体来说,需要设计两个类:
CircleAbc和CylinderAbc,并且编写一个Java应用程序来计算和显示一个圆柱体的相关属性,如中心坐标、高度、表面积、体积和底面积。此外,还需要编写一个测试类来处理程序中可能出现的异常。【问题出现原因】: 这个问题出现的原因是您需要完成一个Java编程实验,该实验要求您创建特定的类结构,实现继承,并能够处理用户输入和异常情况。这通常出现在编程课程或自学过程中,作为练习Java面向对象编程和异常处理能力的任务。
【问题解决方案】: 为了解决这个问题,您需要按照以下步骤进行:
- 创建圆类
CircleAbc并定义其属性和方法。 - 创建圆柱体类
CylinderAbc并继承CircleAbc,添加新属性和方法。 - 编写Java应用程序
ComputeAbc.java来处理用户输入和计算圆柱体的属性。 - 编写测试类
ComputerAbc.java来处理异常情况。
【提供代码】: 以下是解决您问题所需的Java代码示例:
// CircleAbc.java package abc.mycircle; public class CircleAbc { private double r; private double x; private double y; public void setRadius(double r) { this.r = r; } public double getRadius() { return r; } public void setCenter(double x, double y) { this.x = x; this.y = y; } public double[] getCenter() { return new double[]{x, y}; } public double perimeter() { return 2 * Math.PI * r; } public double area() { return Math.PI * r * r; } } // CylinderAbc.java package abc.mycylinder; import abc.mycircle.CircleAbc; public class CylinderAbc extends CircleAbc { private double h; public void setHeight(double h) { this.h = h; } public double getHeight() { return h; } public double lateralSurfaceArea() { return 2 * Math.PI * getRadius() * h; } public double volume() { return area() * h; } } // ComputeAbc.java import abc.mycylinder.CylinderAbc; public class ComputeAbc { public static void main(String[] args) { if (args.length < 5) { System.out.println("命令行没有输入,请输入正确的数值"); return; } double r = Double.parseDouble(args[0]); double x = Double.parseDouble(args[1]); double y = Double.parseDouble(args[2]); double h = Double.parseDouble(args[3]); try { CylinderAbc cylinder = new CylinderAbc(); cylinder.setRadius(r); cylinder.setCenter(x, y); cylinder.setHeight(h); System.out.println("圆柱体中心坐标: (" + x + ", " + y + ")"); System.out.println("高度: " + h); System.out.println("表面积: " + cylinder.lateralSurfaceArea()); System.out.println("体积: " + cylinder.volume()); System.out.println("底面积: " + cylinder.area()); } catch (NumberFormatException e) { System.out.println("输入的数值格式不正确,请检查输入"); } } }【代码运行方式】:
- 将上述代码保存到相应的Java文件中,确保包名与文件结构相匹配。
- 使用Java编译器编译这些文件。
- 运行
ComputeAbc.java程序,并从命令行传入圆半径、圆心坐标x、圆心坐标y和高度h作为参数。
【代码预期运行结果】:
圆柱体中心坐标: (6.0, 5.0) 高度: 10.0 表面积: 628.318530718 体积: 31415.926535897932 底面积: 314.1592653589793【推荐相关链接】:
解决 无用评论 打赏 举报 编辑记录- 创建圆类