* 任务:根据从键盘输入的三角形的三个边长,求出三角形的面积。 * 类名为:TriangleArea */ import java.util.Scanner; public class TriangleArea { public static void main(String[] args) { Scanner reader = new Scanner(System.in); // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码 /********** Begin **********/ // 第一步:获取键盘三次输入的值 // 第二步:根据三角形面积公式求取三角形面积 // 第三步:格式化输出三角形的面积 /********** End **********/ } }
时间: 2025-05-16 14:09:30 浏览: 11
根据您的需求,以下是完整的代码以及对其实现过程的详细说明:
### 完整代码
```java
import java.util.Scanner;
public class TriangleArea {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
// 第一步:获取键盘三次输入的值
System.out.println("请输入三角形的第一条边长:");
double a = reader.nextDouble();
System.out.println("请输入三角形的第二条边长:");
double b = reader.nextDouble();
System.out.println("请输入三角形的第三条边长:");
double c = reader.nextDouble();
// 验证是否可以构成三角形
if (a + b > c && a + c > b && b + c > a) {
// 第二步:根据海伦公式计算三角形面积
double p = (a + b + c) / 2; // 半周长
double area = Math.sqrt(p * (p - a) * (p - b) * (p - c)); // 海伦公式
// 第三步:格式化输出三角形的面积
System.out.printf("三角形的面积为:%.2f\n", area);
} else {
System.out.println("无法构成三角形!");
}
reader.close(); // 关闭Scanner对象
}
}
```
---
### 实现步骤详解
#### **第一步:获取用户输入**
通过 `Scanner` 对象从键盘读取三条边长,并分别存储到变量 `a`, `b`, 和 `c` 中。
示例交互:
```
请输入三角形的第一条边长:
3.0
请输入三角形的第二条边长:
4.0
请输入三角形的第三条边长:
5.0
```
#### **第二步:验证是否能构成三角形**
利用三角形的基本性质——任意两边之和大于第三边。如果条件成立,则继续;否则直接提示“无法构成三角形”。
示例如下:
```java
if (a + b > c && a + c > b && b + c > a)
```
#### **第三步:应用海伦公式计算面积**
假设半周长 \( p \),则有:
\[
p = \frac{a+b+c}{2}
\]
再结合海伦公式求解面积:
\[
area = \sqrt{p \cdot (p-a) \cdot (p-b) \cdot (p-c)}
\]
#### **第四步:格式化输出结果**
使用 `System.out.printf()` 将面积保留两位小数并打印出来。
示例输出:
```
三角形的面积为:6.00
```
---
### 示例运行结果
#### 输入有效数据:
```
请输入三角形的第一条边长:
3.0
请输入三角形的第二条边长:
4.0
请输入三角形的第三条边长:
5.0
三角形的面积为:6.00
```
#### 输入无效数据(无法构成三角形):
```
请输入三角形的第一条边长:
1.0
请输入三角形的第二条边长:
2.0
请输入三角形的第三条边长:
3.0
无法构成三角形!
```
---
阅读全文
相关推荐














