这份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。
给一些思路也是可以的! 展开
4个回答
展开全部
所有图形的超类:提供公有属性和方法
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;
}
}
}
展开全部
最基本的输入输出考察,你还是自己做吧,不难的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//矩形
public class Rectangle {
private double rLong,rWide;
public Rectangle() {
}
public Rectangle(double rLong, double rWide) {
this.rLong = rLong;
this.rWide = rWide;
}
public void setrLong(double rLong) {
this.rLong = rLong;
}
public void setrWide(double rWide) {
this.rWide = rWide;
}
//获取周长
public double getPerimeter(){
return rLong*2+rWide*2;
}
//获取面积
public double getArea(){
return rLong*rWide;
}
}
//三角形
public class Triangle {
private double tSide1=-1,tSide2=-1,tSide3=-1;
public Triangle() {
}
public Triangle(double tSide1, double tSide2, double tSide3) {
this.tSide1 = tSide1;
this.tSide2 = tSide2;
this.tSide3 = tSide3;
}
public void settSide1(double tSide1) {
this.tSide1 = tSide1;
}
public void settSide2(double tSide2) {
this.tSide2 = tSide2;
}
public void settSide3(double tSide3) {
this.tSide3 = tSide3;
}
//获取周长
public double getPerimeter(){
if (isLegitimate()){
return tSide1+tSide2+tSide3;
}else {
return -1;
}
}
//获取面积,如果不合法返回-1
public double getArea(){
if (isLegitimate()){
double p = (tSide1+tSide2+tSide3)/2;
return ((int)(Math.sqrt(p*(p-tSide1)*(p-tSide2)*(p-tSide3))*100.0))/100.0;
}else {
return -1;
}
}
//判断是否合法
private boolean isLegitimate(){
if (tSide1!= -1&&tSide2!=-1&&tSide3!=-1){
if ((tSide1+tSide2>tSide3&&Math.abs(tSide1-tSide2)<tSide3 )
&& (tSide2+tSide3>tSide1&&Math.abs(tSide2-tSide3)<tSide1)
&& (tSide1+tSide3>tSide2&&Math.abs(tSide1-tSide3)<tSide2)
){
return true;
}
}
return false;
}
}
//圆
public class Circular {
private double cRadius = 0;
public Circular() {
}
public Circular(double cRadius) {
this.cRadius = cRadius;
}
public void setcRadius(double cRadius) {
this.cRadius = cRadius;
}
public double getPerimeter(){
return ((int)(Math.PI*2*cRadius*100.0))/100.0;
}
public double getArea(){
return ((int)(Math.PI*cRadius*cRadius*100))/100.0;
}
}
import java.util.Scanner;
/**
* Created by DELL on 2019/5/9.
*/
public class TestMain {
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();
switch(i){
case 1:
Circular mCircular = new Circular();
System.out.println("请输入半径:");
double r = sc.nextDouble();
while(!checkNumber(r)){
r = sc.nextDouble();
}
mCircular.setcRadius(r);
System.out.println("半径为"+r+"的圆:\n周长为:"+mCircular.getPerimeter()+"\n面积为:"+mCircular.getArea()+"\n");
break;
case 2:
Rectangle mRectangle = new Rectangle();
System.out.println("请输入宽:");
double w = sc.nextDouble();
while(!checkNumber(w)){
w = sc.nextDouble();
}
mRectangle.setrWide(w);
System.out.println("请输入长:");
double h = sc.nextDouble();
while(!checkNumber(h)){
h = sc.nextDouble();
}
mRectangle.setrLong(h);
System.out.println("长为"+h+",宽为"+w+"的矩形:\n周长为:"+mRectangle.getPerimeter()+"\n面积为:"+mRectangle.getArea()+"\n");
break;
case 3:
Triangle mTriangle = new Triangle();
System.out.println("请输入第一条边长:");
double l1 = sc.nextDouble();
while(!checkNumber(l1)){
l1 = sc.nextDouble();
}
mTriangle.settSide1(l1);
System.out.println("请输入第二条边长:");
double l2 = sc.nextDouble();
while(!checkNumber(l2)){
l2 = sc.nextDouble();
}
mTriangle.settSide2(l2);
System.out.println("请输入第三条边长:");
double l3 = sc.nextDouble();
while(!checkNumber(l3)){
l3 = sc.nextDouble();
}
mTriangle.settSide3(l3);
if (mTriangle.getPerimeter()==-1){
System.out.println("您所输入三边:"+l1+","+l2+","+l3+"构不成三角形!");
}else {
System.out.println("三边为:"+l1+","+l2+","+l3+"的三角形:\n周长为:"+mTriangle.getPerimeter()+"\n面积为:"+mTriangle.getArea()+"\n");
}
break;
case 9:
System.exit(0);
break;
}
}
}
public static boolean checkNumber(double a){
if(a<=0){
System.out.println("请输入整数:");
return false;
}else{
return true;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询