Java小白_面向对象程序设计01顺序结构_01Java顺序结构之数学函数之根据三角形三边长求面积

练习 -Java顺序结构之数学函数之根据三角形三边长求面积

Java顺序结构之数学函数之根据三角形三边长求面积

    • 练习 -Java顺序结构之数学函数之根据三角形三边长求面积
      • 1. 任务要求
        • 任务描述
        • 编程要求
        • 测试说明
      • 2. 任务分析
        • 1. 输入输出分析
        • 2. 需求分析
        • 3. 所需知识
          • 1. java 库 如何获取输入
            • 1. **Scanner(InputStream source)**:
            • 2. **next()**:
            • 3. **nextInt()**:
            • 4. **nextDouble()**:
            • 5.**nextLine()**:
            • 6. **hasNext()**:
            • 7. **hasNextInt()**:
            • 8. **hasNextDouble()**:
            • 9. **useDelimiter(String pattern)**:
            • 10. 全代码示例:
          • 2. java 库 如何将输入的数据转换为三个小数类型的数据
            • 1. 用`Scanner` 类的 `nextDouble()` 方法
            • 2. 用`Scanner`类的`next()`方法
          • 3. java 选择结构 判断能不能组成三角形
            • 1.Java 如何创造方法
            • 2. java选择结构的使用
            • 3. 选择结构的判断条件 多判断条件的综合判定
          • 4. java 顺序结构 定义一个计算三角形面积的海伦公式算法
            • 1. Java 如何抽象数学表达式
            • 2. 使用Java 抽象 海伦公式
          • 5. Java如何规范化输出
            • 1. **使用 `System.out.printf()` 方法**:
            • 2. **使用 `String.format()` 方法**:
            • 3. **使用 `DecimalFormat` 类**:
        • 4. 确认代码框架
          • 1.获取三条边的数据
          • 2. 定义一个判断三条边能否组成三角形的方法
          • 3. 定义一个计算三角形面积的海伦公式算法,并在主函数中调用它
          • 4. 规范化 输出
        • 5. 书写代码
      • 3. 代码

1. 任务要求

  • [任务描述]
  • [编程要求]
  • [测试说明]

任务描述

本关任务:根据从键盘输入的三角形的三个边长,求出三角形的面积,忽略三边长度不能组成一个三角形的情况,最后结果保留两位小数。

任意三角形面积公式-海伦公式

已知三角形三边abc,则

p=21(a+b+c)

S三角形=p(pa)(pb)(pc)

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。 输出格式详情请参照右侧预期输出。

注意:给定的三个数请使用 double 类型变量接收。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。


2. 任务分析

1. 输入输出分析

根据从键盘输入的三角形的三个边长,求出三角形的面积,忽略三边长度不能组成一个三角形的情况,最后结果保留两位小数。

输入: 三角形的三个边长 数字

输出: 三角形的面积

约束条件:

  • 忽略三边长度不能组成一个三角形的情况

  • 最后结果保留两位小数

2. 需求分析
  1. 获取键盘输入的三条边 java输入获取
  2. 将三条边转换为可以计算的数据类型 字符串转换为三个double类型
  3. 将三条边计算为三角形的面积 海伦公式,定义一个方法
  4. 忽略三边长度不能组成一个三角形的情况 可用if else语句
  5. 输出三角形的面积要求 最后结果保留两位小数 print 然后中间加转换
3. 所需知识
1. java 库 如何获取输入

使用Scanner类 :

当然,Scanner 类是 Java 标准库中的一个实用工具,用于获取用户从键盘输入的数据。它提供了多种方法来处理不同类型的输入,例如整数、浮点数、字符串等。下面我将详细介绍一些 Scanner 类的主要方法:

1. Scanner(InputStream source)

Scanner 类的构造函数,用于创建一个新的 Scanner 对象,从指定的输入流(例如 System.in)读取数据。

// 从键盘输入创建 Scanner 对象
Scanner scannerFromKeyboard = new Scanner(System.in);// 从字符串输入创建 Scanner 对象
String inputString = "Hello 123 World";
Scanner scannerFromString = new Scanner(inputString);
2. next()

用于获取下一个以空白字符(空格、制表符、换行符等)分隔的字符串,并返回该字符串。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);
3. nextInt()

用于获取下一个整数,并返回该整数。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int numInt = scanner.nextInt();
System.out.println("你输入的整数是:" + numInt);
4. nextDouble()

用于获取下一个浮点数,并返回该浮点数。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个浮点数:");
double numDouble = scanner.nextDouble();
System.out.println("你输入的浮点数是:" + numDouble);
5.nextLine()

用于获取下一行的输入,并返回该行的字符串,包括换行符在内。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一行文本:");
scanner.nextLine(); // 消耗掉nextInt或nextDouble等方法末尾的换行符
String line = scanner.nextLine();
System.out.println("你输入的文本是:" + line);
6. hasNext()

用于检查是否还有下一个标记(字符串、整数、浮点数等)可供读取,如果有则返回 true,否则返回 false

Scanner scanner = new Scanner(System.in);
System.out.print("再输入一个字符串来检查 hasNext() 方法:");
boolean hasNextStr = scanner.hasNext();
System.out.println("是否有下一个字符串:" + hasNextStr);
7. hasNextInt()

用于检查是否还有下一个整数可供读取,如果有则返回 true,否则返回 false

Scanner scanner = new Scanner(System.in);
System.out.print("再输入一个整数来检查 hasNextInt() 方法:");
boolean hasNextInt = scanner.hasNextInt();
System.out.println("是否有下一个整数:" + hasNextInt);
8. hasNextDouble()

用于检查是否还有下一个浮点数可供读取,如果有则返回 true,否则返回 false

Scanner scanner = new Scanner(System.in);
System.out.print("再输入一个浮点数来检查 hasNextDouble() 方法:");
boolean hasNextDouble = scanner.hasNextDouble();
System.out.println("是否有下一个浮点数:" + hasNextDouble);
9. useDelimiter(String pattern)

用于设置输入分隔符的模式,例如 useDelimiter(",") 将设置逗号为输入分隔符。

Scanner scanner = new Scanner(System.in);
// 使用逗号作为输入分隔符
scanner.useDelimiter(",");
System.out.println("请输入用逗号分隔的三个整数:");// 获取三个整数输入,并以逗号分隔
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int num3 = scanner.nextInt();// 输出获取的三个整数
System.out.println("你输入的三个整数分别是:" + num1 + ", " + num2 + ", " + num3);
10. 全代码示例:
import java.util.Scanner;public class ScannerExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// next() 方法示例System.out.print("请输入一个字符串:");String str = scanner.next();System.out.println("你输入的字符串是:" + str);// nextInt() 方法示例System.out.print("请输入一个整数:");int numInt = scanner.nextInt();System.out.println("你输入的整数是:" + numInt);// nextDouble() 方法示例System.out.print("请输入一个浮点数:");double numDouble = scanner.nextDouble();System.out.println("你输入的浮点数是:" + numDouble);// nextLine() 方法示例System.out.print("请输入一行文本:");scanner.nextLine(); // 消耗掉nextInt或nextDouble等方法末尾的换行符String line = scanner.nextLine();System.out.println("你输入的文本是:" + line);// hasNext() 方法示例System.out.print("再输入一个字符串来检查 hasNext() 方法:");boolean hasNextStr = scanner.hasNext();System.out.println("是否有下一个字符串:" + hasNextStr);// hasNextInt() 方法示例System.out.print("再输入一个整数来检查 hasNextInt() 方法:");boolean hasNextInt = scanner.hasNextInt();System.out.println("是否有下一个整数:" + hasNextInt);// hasNextDouble() 方法示例System.out.print("再输入一个浮点数来检查 hasNextDouble() 方法:");boolean hasNextDouble = scanner.hasNextDouble();System.out.println("是否有下一个浮点数:" + hasNextDouble);scanner.close();}
}

这些方法提供了灵活的方式来处理各种类型的用户输入。你可以根据需要选择适合的方法来读取用户输入的数据,并进行相应的处理。

2. java 库 如何将输入的数据转换为三个小数类型的数据
1. 用Scanner 类的 nextDouble() 方法

当用户输入数据时,你可以使用 Scanner 类的 nextDouble() 方法来获取输入的浮点数。下面是一个示例代码片段,演示如何将输入的数据转换为三个小数类型的数据:

Scanner scanner = new Scanner(System.in);System.out.print("请输入三个小数,用空格分隔:");
double num1 = scanner.nextDouble();
double num2 = scanner.nextDouble();
double num3 = scanner.nextDouble();System.out.println("你输入的三个小数分别是:" + num1 + ", " + num2 + ", " + num3);scanner.close();

在这个示例中,我们使用 Scanner 类的 nextDouble() 方法三次,分别获取用户输入的三个小数,并将它们保存到 double 类型的变量 num1num2num3 中。然后,我们将这些变量打印输出以确认输入的正确性。

2. 用Scanner类的next()方法

如果输入的数据是一行代码空格分割的三个小数,你可以使用 Scanner 类的 next() 方法获取一行输入,然后使用 String 类的 split() 方法将其按空格分割成字符串数组,最后将字符串数组中的元素转换为小数类型。下面是相应的代码示例:

Scanner scanner = new Scanner(System.in);System.out.print("请输入三个小数,用空格分隔:");
String input = scanner.nextLine();
String[] parts = input.split(" ");// 将字符串数组中的元素转换为小数类型
double num1 = Double.parseDouble(parts[0]);
double num2 = Double.parseDouble(parts[1]);
double num3 = Double.parseDouble(parts[2]);System.out.println("你输入的三个小数分别是:" + num1 + ", " + num2 + ", " + num3);scanner.close();

在这个示例中,我们首先使用 nextLine() 方法获取一行输入,然后使用 split(" ") 方法将输入的字符串按空格分割成字符串数组 parts。最后,我们将字符串数组中的每个元素转换为小数类型,并保存到对应的变量中。

3. java 选择结构 判断能不能组成三角形

这个主要涉及知识是,创造方法以及调用,java选择结构的使用,选择结构的判断条件

1.Java 如何创造方法

明白了,让我们从头开始。在Java中,你可以通过以下步骤来创建方法:

  1. 方法的声明:你需要指定方法的访问修饰符(例如 publicprivate 等)、返回类型(如果方法不返回任何值,则返回类型为 void)、方法名称以及参数列表。方法的声明语法如下:

    访问修饰符 返回类型 方法名(参数列表) {// 方法体
    }
    
  2. 方法的实现:在方法体内编写方法的具体功能。

  3. 方法的调用:在其他地方通过方法名以及传递给方法的参数来调用该方法。

下面是一个示例代码,演示了如何创建一个简单的方法并在主程序中调用它:

public class MethodExample {// 方法的声明public static void printMessage(String message) {// 访问修饰符 返回类型 方法名 参数列表/***public static void printMessage(String message) 这个方法中使用了两个访问修饰符。在		Java中,一个方法可以同时具有多个修饰符,它们的顺序通常是任意的。public 是访问修饰符,表示该方法可以被其他类访问。static 是一个关键字,表示该方法属于类而不是对象,在调用时可以直接通过类名来调用。void 是返回类型,表示该方法不返回任何值。printMessage 是方法名。(String message) 是参数列表,这里表示该方法接受一个字符串类型的参数。因此,public static void printMessage(String message) 这个方法声明了一个公共的静态方法,它接受一个字符串参数,并且不返回任何值。*/// 方法的实现System.out.println(message);}public static void main(String[] args) {// 方法的调用printMessage("Hello, World!");//这样可以只可视方法的使用,对隐藏代码很好}
}

在这个示例中,我们创建了一个名为 printMessage 的方法,它接受一个字符串参数 message,并在方法体内使用 System.out.println() 方法打印出这个消息。然后,在 main 方法中,我们通过方法名 printMessage 来调用这个方法,并传递一个字符串参数 “Hello, World!”。


2. java选择结构的使用

在Java中,选择结构用于根据条件来执行不同的代码块。常见的选择结构有以下几种:

  1. if 语句if 语句根据指定的条件执行代码块。如果条件为真,则执行 if 代码块;否则,执行可选的 elseelse if 代码块。

    if (condition) {// 如果条件为真,则执行这里的代码块
    } else if (anotherCondition) {// 如果另一个条件为真,则执行这里的代码块
    } else {// 如果上述条件都不满足,则执行这里的代码块
    }
    
  2. switch 语句switch 语句根据表达式的值执行不同的代码块。它将表达式的值与每个 case 标签进行比较,并执行与匹配的 case 标签关联的代码块。

    switch (expression) {case value1:// 如果 expression 的值等于 value1,则执行这里的代码块break;case value2:// 如果 expression 的值等于 value2,则执行这里的代码块break;default:// 如果 expression 的值不等于任何一个 case,则执行这里的代码块break;
    }
    
  3. 三元条件运算符:三元条件运算符 ? : 提供了一种简洁的方式根据条件选择执行不同的代码块。

    result = (condition) ? value1 : value2;
    

这些选择结构在不同的情况下有不同的用途,你可以根据需要选择适合的结构来实现你的代码逻辑。


3. 选择结构的判断条件 多判断条件的综合判定

在Java中,你可以使用逻辑运算符来进行多个条件的综合判断。常用的逻辑运算符包括:

  1. 与运算符 (&&):表示“与”,当且仅当所有条件都为真时,整个表达式才为真。

  2. 或运算符 (||):表示“或”,当至少有一个条件为真时,整个表达式就为真。

  3. 非运算符 (!):表示“非”,用于取反,将真变为假,假变为真。

这些逻辑运算符可以组合使用,以满足复杂的条件判断需求。下面是一个简单的示例代码,演示了如何使用逻辑运算符进行多个条件的综合判断:

int x = 5;
int y = 10;
int z = 15;// 综合判断条件,当 x 大于 0 且 y 大于 0 且 z 大于 0 时,输出“所有数都大于 0”
if (x > 0 && y > 0 && z > 0) {System.out.println("所有数都大于 0");
}// 综合判断条件,当 x 小于 0 或者 y 小于 0 或者 z 小于 0 时,输出“至少有一个数小于 0”
if (x < 0 || y < 0 || z < 0) {System.out.println("至少有一个数小于 0");
}// 综合判断条件,当 x 不等于 0 时,输出“x 不等于 0”
if (x != 0) {System.out.println("x 不等于 0");
}

在这个示例中,我们使用了 &&||! 这三种逻辑运算符来组合判断多个条件。你可以根据具体的逻辑需求,灵活地使用这些运算符来编写条件判断语句。


4. java 顺序结构 定义一个计算三角形面积的海伦公式算法
1. Java 如何抽象数学表达式

在Java中,可以通过定义类和方法来抽象数学表达式。抽象数学表达式意味着将数学概念、运算符和操作封装在类和方法中,以便在程序中更方便地使用和操作。这通常涉及到面向对象的编程思想。

下面是一个简单的示例,演示了如何在Java中抽象一个简单的数学表达式:

public class MathExpression {// 定义一个方法,计算两个数的和public static double add(double num1, double num2) {return num1 + num2;}// 定义一个方法,计算两个数的差public static double subtract(double num1, double num2) {return num1 - num2;}// 定义一个方法,计算两个数的乘积public static double multiply(double num1, double num2) {return num1 * num2;}// 定义一个方法,计算两个数的商public static double divide(double num1, double num2) {if (num2 == 0) {throw new ArithmeticException("除数不能为0");}return num1 / num2;}public static void main(String[] args) {double a = 10.0;double b = 5.0;// 使用方法来计算数学表达式double sum = add(a, b);double difference = subtract(a, b);double product = multiply(a, b);double quotient = divide(a, b);// 输出结果System.out.println("和:" + sum);System.out.println("差:" + difference);System.out.println("乘积:" + product);System.out.println("商:" + quotient);}
}

在这个示例中,我们定义了一个 MathExpression 类,并在其中定义了四个静态方法 addsubtractmultiplydivide,分别用于计算两个数的加、减、乘、除运算。然后,在 main 方法中,我们使用这些方法来计算数学表达式,并输出结果。这种方式可以很好地抽象数学表达式,并在程序中重复使用。

2. 使用Java 抽象 海伦公式

海伦公式用于计算三角形的面积,它的公式如下所示:

A r e a = s ⋅ ( s − a ) ⋅ ( s − b ) ⋅ ( s − c ) Area = \sqrt{s \cdot (s - a) \cdot (s - b) \cdot (s - c)} Area=s(sa)(sb)(sc)

其中,(s) 为半周长,(a)、(b)、(c) 分别为三角形的三条边长。

我们可以将这个公式抽象成一个方法,以便在程序中方便地调用。下面是一个示例代码:

public class TriangleAreaCalculator {// 计算三角形的面积public static double calculateArea(double side1, double side2, double side3) {//访问修饰符:公共、静态、返回的数据类型:double, //参数列表:side1 double类型、side2 double类型、side3 double类型// 计算半周长double s = (side1 + side2 + side3) / 2;// 计算海伦公式中的表达式double area = Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));//return area;}public static void main(String[] args) {// 三个边长作为示例输入double side1 = 3.0;double side2 = 4.0;double side3 = 5.0;// 调用方法计算三角形的面积double area = calculateArea(side1, side2, side3);// 输出结果System.out.println("三角形的面积为:" + area);}
}

在这个示例中,我们定义了一个 TriangleAreaCalculator 类,并在其中定义了一个静态方法 calculateArea,用于计算三角形的面积。在 main 方法中,我们提供了三条边长作为示例输入,然后调用 calculateArea 方法来计算三角形的面积,并输出结果。

5. Java如何规范化输出

在Java中,你可以使用格式化字符串来规范化输出,以满足特定的输出限定条件。常见的输出规范化方法包括:

1. 使用 System.out.printf() 方法

这个方法允许你使用格式化字符串指定输出的格式。你可以在格式化字符串中使用占位符 % 来表示要输出的变量,然后提供相应的参数来替换占位符。

double num = 3.14159;
System.out.printf("保留两位小数:%.2f%n", num);

在上面的示例中,%.2f 表示输出一个浮点数,保留两位小数。

2. 使用 String.format() 方法

这个方法与 System.out.printf() 类似,但它返回一个格式化后的字符串,而不是直接输出到控制台。

double num = 3.14159;
String formattedString = String.format("保留两位小数:%5.2f%n", num);
System.out.println(formattedString);

这里的 %5.2f 表示输出一个浮点数,总宽度为5,保留两位小数。

3. 使用 DecimalFormat

这个类提供了更多灵活的格式化选项,你可以通过实例化 DecimalFormat 对象来设置输出的格式。

import java.text.DecimalFormat;double num = 3.14159;
DecimalFormat df = new DecimalFormat("#.##");
System.out.println("保留两位小数:" + df.format(num));

在这个示例中,我们使用 # 表示可选的数字位置,. 表示小数点,## 表示保留两位小数。

通过使用这些方法,你可以灵活地规范化输出,满足特定的输出限定条件。

4. 确认代码框架
1.获取三条边的数据
// 创建一个输入流对象
InputSteam inputStream = createInputStream()// 创建一个Scanner对象,用于从输入流中读取数据
Scanner scanner = new Scanner(inputStream)// 提示用户输入第一条边
output("请输入第一条边的长度:")// 读取用户输入的第一条边
double side1 = scanner.nextDouble()// 提示用户输入第二条边
output("请输入第二条边的长度:")// 读取用户输入的第二条边
double side2 = scanner.nextDouble()// 提示用户输入第三条边
output("请输入第三条边的长度:")// 读取用户输入的第三条边
double side3 = scanner.nextDouble()// 关闭Scanner对象
scanner.close()
2. 定义一个判断三条边能否组成三角形的方法
// 函数:检查三角形是否合法
// 参数:
//   side1: 第一条边的长度
//   side2: 第二条边的长度
//   side3: 第三条边的长度
// 返回值:
//   布尔值,如果能够组成三角形则返回true,否则返回false
Function isValidTriangle(side1, side2, side3):// 检查条件:任意两边之和大于第三边If (side1 + side2 > side3) AND (side1 + side3 > side2) AND (side2 + side3 > side1) Then:Return trueElse:Return false// 主函数
Function main():// 从用户输入获取三条边的长度Output ("请输入第一条边的长度:")double side1 = InputOutput ("请输入第二条边的长度:")double side2 = InputOutput ("请输入第三条边的长度:")double side3 = Input// 调用函数检查是否能够组成三角形boolean isTriangle = isValidTriangle(side1, side2, side3)// 输出结果If isTriangle equals true Then:Output ("这三条边可以组成一个三角形。")Else:Output ("这三条边不能组成一个三角形。")
3. 定义一个计算三角形面积的海伦公式算法,并在主函数中调用它
// 函数:计算三角形面积
// 参数:
//   side1: 第一条边的长度
//   side2: 第二条边的长度
//   side3: 第三条边的长度
// 返回值:
//   浮点数,表示三角形的面积
Function calculateTriangleArea(side1, side2, side3):// 计算半周长s = (side1 + side2 + side3) / 2// 使用海伦公式计算面积area = √(s * (s - side1) * (s - side2) * (s - side3))Return area// 主函数
Function main():// 获取用户输入的三条边的长度Output ("请输入第一条边的长度:")side1 = InputOutput ("请输入第二条边的长度:")side2 = InputOutput ("请输入第三条边的长度:")side3 = Input// 调用函数计算三角形的面积area = calculateTriangleArea(side1, side2, side3)// 输出结果Output ("三角形的面积为:" + area)
4. 规范化 输出
// Function: 格式化输出
// 参数:
//   value: 要输出的值
//   decimalPlaces: 小数点后要保留的位数
// 返回值:
//   无
Function formatOutput(value, decimalPlaces):// 将值转换为字符串stringValue = Convert value to string// 寻找小数点的位置decimalPointIndex = Find the position of decimal point in stringValue// 获取小数点后的位数decimalDigits = Calculate the number of digits after the decimal point in stringValue// 如果小数点位数大于要求的位数,则截取到要求的位数If decimalDigits > decimalPlaces Then:Truncate stringValue to decimalPlaces digits after the decimal point// 如果小数点位数小于要求的位数,则补零到要求的位数Else if decimalDigits < decimalPlaces Then:Pad stringValue with zeros to have decimalPlaces digits after the decimal point// 输出格式化后的值Output stringValue// 主函数
Function main():// 定义一个数值number = 3.1415// 调用格式化输出函数Call formatOutput(number, 2) // 保留两位小数
5. 书写代码
import java.util.*;
import java.text.DecimalFormat;
public class TriangleArea{public static void main(String[] args){Scanner scanner = new Scanner (System.in);double side1 = scanner.nextDouble();double side2 = scanner.nextDouble();double side3 = scanner.nextDouble();if !(isValidTriangle(side1,side2,side3)){printreturn 0;}double area = calculateTriangleArea(side1,side2,side3);num_to_str(area);scanner.close()}public static boolean isValidTriangle(double side1,double side2,double side3){if (side1 + side2 > side3) &&(side1 + side3 > side2)&&(side2 + side3 > side1){return True;}else{return False;}}public static double calculateTriangleArea(double side1,double side2,double side3){double area = math.sqrt(s * (s - side1) * (s - side2) * (s - side3));return area;}public static void num_to_str(double num){DecimalFormat df = new DecimalFormat("#.##");String output = df.format(num);System.out.pirntf("三角形的面积为:"+output);}
}

3. 代码

修改后的最终代码

import java.util.*;
import java.text.DecimalFormat;
import java.lang.*;public class TriangleArea {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);double side1 = scanner.nextDouble();double side2 = scanner.nextDouble();double side3 = scanner.nextDouble();if (isValidTriangle(side1, side2, side3) == false) {System.out.println("三角形不存在");return;}double area = calculateTriangleArea(side1, side2, side3);num_to_str(area);scanner.close();}public static boolean isValidTriangle(double side1, double side2, double side3) {if ((side1 + side2 > side3) && (side1 + side3 > side2) && (side2 + side3 > side1)) {return true;} else {return false;}}public static double calculateTriangleArea(double side1, double side2, double side3) {double s = (side1 + side2 + side3) / 2;double area = Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));return area;}public static void num_to_str(double num) {DecimalFormat df = new DecimalFormat("#.##");df.setMinimumFractionDigits(2); // 设置最小的小数位数为2String output = df.format(num);System.out.printf("三角形的面积为:" + output);}
}

之前的代码

/*** 任务:根据从键盘输入的三角形的三个边长,求出三角形的面积。* 类名为:TriangleArea*//*** 任务:根据从键盘输入的三角形的三个边长,求出三角形的面积。* 类名为:TriangleArea*/import java.util.Scanner;public class TriangleArea {public static void main(String[] args) {Scanner reader = new Scanner(System.in);/********** Begin **********/// 第一步:获取键盘三次输入的值double a = reader.nextDouble();double b = reader.nextDouble();double c = reader.nextDouble();// 第二步:根据三角形面积公式求取三角形面积double s = (a + b + c) / 2;double area = Math.sqrt(s * (s - a) * (s - b) * (s - c));// 第三步:格式化输出三角形的面积System.out.printf("三角形的面积为:%.2f", area);/********** End **********/reader.close();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/9158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker-compose部署Fastapi项目

Docker-compose部署Fastapi、postgres、Redis、Nginx) 之前有写过使用容器部署的方式&#xff0c;这次尝试使用Docker-compose试一次大胆的尝试 使用容器的方式部署只是掌握这项技能的基础&#xff0c;在使用Docker-compose的过程中会有些稍许的不同。毕竟踩过的坑才算是跨过去…

如何在PPT中插入网页?这样操作,免费还高效!

融合课、跨学科课&#xff0c;已经是近两年来教育界的热门词。 在公开课、微课比赛中&#xff0c;不添融合一些较为先进的信息技术&#xff0c;都不好意思拿出手了。 最近&#xff0c;由不坑老师开发制作的Office插件——不坑盒子&#xff0c;实现了在PPT中插入网页&#xff…

ARM(4)缓存一致性

目录 一、缓存一致性问题 二、一致性实现方案 2.1 目录一致性协议 2.2 嗅探一致性协议 三、CHI协议 3.1 cache state 3.2 snoop维护一致性 四、其他一致性协议 4.1 MSI协议 4.2 MESI 协议 4.3 MOESI协议 本文介绍以下内容&#xff1a; 缓存一致性问题一致性实现方案…

从原始边列表到邻接矩阵Python实现图数据处理的完整指南

​​本文分享自华为云社区《从原始边列表到邻接矩阵Python实现图数据处理的完整指南》&#xff0c;作者&#xff1a; 柠檬味拥抱。 在图论和网络分析中&#xff0c;图是一种非常重要的数据结构&#xff0c;它由节点&#xff08;或顶点&#xff09;和连接这些节点的边组成。在Py…

设计模式之前端控制器模式

想象一下&#xff0c;你的Java Web应用是个交响乐团&#xff0c;每个功能模块是乐手&#xff0c;而用户请求就像是一首首待演绎的曲目。在这场音乐盛宴中&#xff0c;谁来保证演出的流畅与协调&#xff1f;答案就是——前端控制器模式&#xff01;它如同乐队的指挥&#xff0c;…

java中如何判断一个数是不是素数(质数)

相关概念 质数就是大于1的自然数字中&#xff0c;只能被1和它自己整除的数。 题目 求101~200之间的质素的个数 代码实现 判断一个数是不是质数 for (int j 2; j < i; j) {if(i % j 0){flag false;break;}}if(flag){System.out.println("当前数字是质数");…

【动态规划】:路径问题_地下城游戏

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本专栏是关于各种算法的解析&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结构专栏&…

Python的Web框架Flask+Vue生成漂亮的词云图

生成效果图 输入待生成词云图的文本&#xff0c;点击生成词云即可&#xff0c;在词云图生成之后&#xff0c;可以点击下载图片保存词云图。 运行步骤 分别用前端和后端编译器&#xff0c;打开backend和frontend文件夹。前端运行 npm install &#xff0c;安装相应的包。后端…

Java中常用类String的实例化详解

Java中常用类String的实例化详解 在Java编程中&#xff0c;String类是一个基础且非常重要的类&#xff0c;用于表示和操作字符序列。了解如何正确地实例化String对象&#xff0c;对于初学者来说是非常必要的。本文将详细解释如何在Java中实例化String对象&#xff0c;并提供带…

java加密生成签名

package demo;import java.util.Arrays; import java.util.Map;import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; import org.apache.commons.codec.digest.DigestUtils;/*** 加密生成签名*/ public class Encrypt {public static void m…

电脑缺失opencl.dll怎么办,轻松解决opencl.dll的多种方法分享

当我们在操作电脑过程中遇到系统提示“由于找不到opencl.dll&#xff0c;无法继续执行代码”&#xff0c;这个错误会导致软件应用无法正常运行。OpenCL.dll作为一个与Open Computing Language&#xff08;开放计算语言&#xff09;相关的动态链接库文件&#xff0c;它在执行需要…

Baidu Comate——基于AI的智能代码生成让你的编码更快、更好、更简单!

目录 Baidu Comate智能编码助手介绍 支持的编程语言 支持的 IDE 支持的操作系统 System 安装 Baidu Comate 核心场景 智能推荐 单行推荐 多行推荐 智能生成 注释生成代码 增强生成代码 生成单元测试 代码生成注释 生成文档注释 生成行间注释 代码解释 长函…

2024OD机试卷-分披萨 (java\python\c++)

题目:分披萨 题目描述 "吃货"和"馋嘴"两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数个小块。但是粗心的 服务员 将披萨切成了每块大小都完全不同奇 数块,且肉眼能分辨出大小。 由于两人都想吃到最多的披萨,他们…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷1(容器云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…

因表别名引用错误导致查询SQL执行时间长未出结果

问题描述&#xff1a; 项目组人员反馈在执行一条提取数据SQL时执行很慢&#xff0c;每次执行一段时间就报超时&#xff0c;要求帮忙提取下。 解决过程&#xff1a; 项目组人员发来SQL后&#xff0c;看了下SQL&#xff0c;没什么问题&#xff0c;就在客户端上执行了下&#xff0…

测试必备工具 —— Postman实战教程!

01、接口测试 &#xff08;1&#xff09;服务器端&#xff08;server&#xff09;&#xff1a;在使用别人的服务器上&#xff0c;例如微信APP客户端&#xff0c;服务端在腾讯的服务端上&#xff0c;微信上的账号信息&#xff0c;聊天记录均存储在服务端上&#xff1b;用户A发送…

1010: 折半查找的实现

解法&#xff1a; #include<iostream> #include<vector> using namespace std; void solve() {int n;cin >> n;vector<int> vec(n);for (int& x : vec) cin >> x;int x;cin >> x;int l 0, r n-1, cnt 0;while (l < r) {cnt;int…

API已成为攻击者首要目标,企业如何保护API安全?

随着云计算、移动互联网、物联网的蓬勃发展&#xff0c;越来越多的应用开发深度依赖于API之间的相互调用。特别是疫情常态化后&#xff0c;协同办公、在线教育、直播短视频等线上应用蓬勃发展&#xff0c;API在其中既能够起到连接服务的功能&#xff0c;又可以用来传输数据&…

SSD (Pytorch)复现 Ubuntu20.04

源码地址&#xff1a;https://github.com/bubbliiiing/ssd-pytorch 二、环境配置 1、创建环境 使用anaconda进行环境配置&#xff0c;创建一个ssd的环境&#xff1a; conda create -n ssd python3.8 -y2、进入环境 激活anaconda环境&#xff1a; conda activate ssd3、torch安…

使用PyMuPDF(fitz)提取PDF文件文本内容

安装PyMuPDF库&#xff08;如果还没有安装的话&#xff09;&#xff1a; pip install pymupdf使用以下Python脚本来提取指定页面的文本&#xff1a; import fitz # 导入PyMuPDF库def extract_text_from_specific_page(file_path, page_number):# 打开PDF文件doc fitz.open(…