这份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个回答
展开全部
所有图形的超类:提供公有属性和方法
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);
}
}
圆
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);
}
}
矩形
package test;
public class Rec extends Geometry{
public Rec(double w,double h){
this.girth = (w+h)*2;
this.area = w*h;
}
}
三角形
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));
}
}
程序主类
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块帮你做了,若需要继续追问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
太长了,也没奖励
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我可以帮你写,私聊我吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |