这份Java作业怎么写
图形计算器项目:实现一个图形计算器,程序运行后显示界面:请选择图形:1圆2矩形3三角形9退出2请输入矩形长和宽:3.52.5矩形周长是12.0,面积是8.75请选择图形:...
图形计算器项目:
实现一个图形计算器,程序运行后显示界面:
请选择图形:
1 圆 2 矩形 3 三角形 9 退出
2 请输入矩形长和宽:3.5 2.5
矩形周长是 12.0,面积是 8.75
请选择图形:
1 圆 2 矩形 3 三角形 9 退出
程序运行后,给出文本菜单,根据提示输入数字选项,计算不同图形的周长和面积并输出到界面,完成后返回主菜单。 圆输入半径,三角形输入三条边。要求分别生成圆、矩形、三角形类。
如果输入小于等于0的数,应提示“请输入正数:”,重新读取输入。
三角形计算时,先判断输入的3条边是否构成3角形,如不是,则提示“非三角形3条边,请重新输入:”。
圆周律pi定义为3.14f。
给一些思路也是可以的! 展开
实现一个图形计算器,程序运行后显示界面:
请选择图形:
1 圆 2 矩形 3 三角形 9 退出
2 请输入矩形长和宽:3.5 2.5
矩形周长是 12.0,面积是 8.75
请选择图形:
1 圆 2 矩形 3 三角形 9 退出
程序运行后,给出文本菜单,根据提示输入数字选项,计算不同图形的周长和面积并输出到界面,完成后返回主菜单。 圆输入半径,三角形输入三条边。要求分别生成圆、矩形、三角形类。
如果输入小于等于0的数,应提示“请输入正数:”,重新读取输入。
三角形计算时,先判断输入的3条边是否构成3角形,如不是,则提示“非三角形3条边,请重新输入:”。
圆周律pi定义为3.14f。
给一些思路也是可以的! 展开
搜索资料
5个回答
展开全部
所有图形的超类:提供公有属性和方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package test; public abstract class Geometry { protected double girth; protected double area; public double getGirth() { return girth; } public double getArea() { return area; } public void shoot(){ System.out.println( "周长为:" +girth); System.out.println( "面积为:" +area); } } |
圆
1 2 3 4 5 6 7 8 9 10 | package test; public class Circle extends Geometry{ public static final double pi = 3.1415926 ; public Circle( double radius){ this .girth = 2 *pi*radius; this .area = pi*(radius*radius); } } |
矩形
1 2 3 4 5 6 7 8 9 10 | package test; public class Rec extends Geometry{ public Rec( double w, double h){ this .girth = (w+h)* 2 ; this .area = w*h; } } |
三角形
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package test; public class Triangle extends Geometry{ public static boolean check( double l1, double l2, double l3){ if (l1+l2>l3&&(l1-l2<l3||l2-l1<l3) && l3+l2>l1&&(l3-l2<l1||l2-l3<l1) && l1+l3>l2&&(l1-l3<l2||l3-l1<l2)){ return true ; } else { System.out.println( "不是一个三角形!" ); return false ; } } public Triangle( double l1, double l2, double l3){ this .girth = l1+l2+l3; double p = (l1 + l2 + l3) / 2 ; this .area = Math.sqrt(p * (p - l1) * (p - l2) * (p - l3)); } } |
程序主类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | package test; import java.util.Scanner; public class Test09 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while ( true ){ System.out.println( "请选择图形:1 圆 2 矩形 3 三角形 9 退出" ); int i = sc.nextInt(); Geometry g = null ; switch (i){ case 1 : System.out.println( "请输入半径:" ); double r = sc.nextDouble(); while (!checkNumber(r)){ r = sc.nextDouble(); } g = new Circle(r); break ; case 2 : System.out.println( "请输入宽:" ); double w = sc.nextDouble(); while (!checkNumber(w)){ w = sc.nextDouble(); } System.out.println( "请输入高:" ); double h = sc.nextDouble(); while (!checkNumber(h)){ h = sc.nextDouble(); } g = new Rec(w,h); break ; case 3 : System.out.println( "请输入第一条边长:" ); double l1 = sc.nextDouble(); while (!checkNumber(l1)){ l1 = sc.nextDouble(); } System.out.println( "请输入第二条边长:" ); double l2 = sc.nextDouble(); while (!checkNumber(l2)){ l2 = sc.nextDouble(); } System.out.println( "请输入第三条边长:" ); double l3 = sc.nextDouble(); while (!checkNumber(l3)){ l3 = sc.nextDouble(); } if (Triangle.check(l1, l2, l3)){ g = new Triangle(l1,l2,l3); } break ; case 9 : System.exit( 0 ); break ; } if (g!= null ){ g.shoot(); } } } public static boolean checkNumber( double a){ if (a<= 0 ){ System.out.println( "请输入整数:" ); return false ; } else { return true ; } } } |
展开全部
用switch做菜单, Scanner接收控制台输入. 其他的计算写成通用方法,随时需要随时调用就好.
甚至都用不到面向对象.
甚至都用不到面向对象.
展开全部
50块帮你做了,若需要继续追问
展开全部
太长了,也没奖励
展开全部
我可以帮你写,私聊我吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询