可以用java帮我完成以下任务吗?任务说明:编写一个能求解多种平面图形(矩形、梯形、圆形、三角形)面积与周长的命令行程序。 (1)程序运行时,用户能选择图形类型; (2)用户选择图形类型后,程序提示输入确定该图形面积和周长的必要属性值; (3)用户输入属性值后,程序能自动显示求解结果。 (4)求解完了一种图形周长、面积后,程序再次返回(1),使用户能重新选择图形类型,也可以选择退出程序;
时间: 2023-05-24 10:04:06 浏览: 92
java程序设计——计算三角形、圆形、梯形的周长与面积
5星 · 资源好评率100%
A:是的,可以用Java编写一个命令行程序来实现这个任务。
以下是一个大致的程序框架:
```java
import java.util.Scanner;
public class AreaAndPerimeterCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean running = true;
while (running) {
// 1. 显示菜单,让用户选择图形类型
System.out.println("请选择图形类型:");
System.out.println("1 - 矩形");
System.out.println("2 - 梯形");
System.out.println("3 - 圆形");
System.out.println("4 - 三角形");
System.out.println("0 - 退出程序");
int choice = scanner.nextInt();
// 2. 根据用户的选择,提示输入必要的属性值,计算并显示面积和周长
switch (choice) {
case 1: // 矩形
System.out.println("请输入矩形的长和宽:");
double rectLength = scanner.nextDouble();
double rectWidth = scanner.nextDouble();
double rectArea = rectLength * rectWidth;
double rectPerimeter = 2 * (rectLength + rectWidth);
System.out.println("矩形的面积为:" + rectArea);
System.out.println("矩形的周长为:" + rectPerimeter);
break;
case 2: // 梯形
System.out.println("请输入梯形的上底、下底和高:");
double trapezoidTop = scanner.nextDouble();
double trapezoidBottom = scanner.nextDouble();
double trapezoidHeight = scanner.nextDouble();
double trapezoidArea = (trapezoidTop + trapezoidBottom) * trapezoidHeight / 2;
double trapezoidPerimeter = trapezoidTop + trapezoidBottom +
2 * Math.sqrt(trapezoidHeight * trapezoidHeight +
(trapezoidBottom - trapezoidTop) *
(trapezoidBottom - trapezoidTop) / 4);
System.out.println("梯形的面积为:" + trapezoidArea);
System.out.println("梯形的周长为:" + trapezoidPerimeter);
break;
case 3: // 圆形
System.out.println("请输入圆的半径:");
double circleRadius = scanner.nextDouble();
double circleArea = Math.PI * circleRadius * circleRadius;
double circlePerimeter = 2 * Math.PI * circleRadius;
System.out.println("圆的面积为:" + circleArea);
System.out.println("圆的周长为:" + circlePerimeter);
break;
case 4: // 三角形
System.out.println("请输入三角形的三条边长:");
double triangleSide1 = scanner.nextDouble();
double triangleSide2 = scanner.nextDouble();
double triangleSide3 = scanner.nextDouble();
double p = (triangleSide1 + triangleSide2 + triangleSide3) / 2;
double triangleArea = Math.sqrt(p * (p - triangleSide1) *
(p - triangleSide2) *
(p - triangleSide3));
double trianglePerimeter = triangleSide1 + triangleSide2 + triangleSide3;
System.out.println("三角形的面积为:" + triangleArea);
System.out.println("三角形的周长为:" + trianglePerimeter);
break;
case 0: // 退出程序
running = false;
break;
default: // 不合法的选择
System.out.println("请选择合法的选项。");
break;
}
}
scanner.close();
}
}
```
该程序使用了基本的控制流程结构,例如 `while` 循环、`switch` 语句、条件语句、数学函数等,可以根据需要进行更改和扩展,以适应不同的要求和使用场景。
阅读全文