x3_2 图形面积计算 (1/10 不知道为什么)

简介: 我们有一些图形的边长数据,这些图形包括三角新和矩形,请你编写一个程序求出它们的面积。 请你实现一个基础图形类Graph,然后实现三角形类Triangle和矩形类Rectangle,继承自Graph。

我们有一些图形的边长数据,这些图形包括三角新和矩形,请你编写一个程序求出它们的面积。
请你实现一个基础图形类Graph,然后实现三角形类Triangle和矩形类Rectangle,继承自Graph。根据输入的边数实现不同的对象,并计算面积。
输入格式:
一行,一个整数n,表示图形个数。
n行,每行是用空格隔开的整数。
输出格式:
n行,每行是一个图形的面积。
输入样例:
2
5 5
6 6 6
输出样例:
25
15

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String stemp = in.nextLine();
        int[] ans = new int[1000];
        int cnt = 0;

        for(int i = 0; i < n; i++) {
            String str = in.nextLine();
            String[] s = str.split(" ");
            if(s.length == 2) {
                int a = Integer.parseInt(s[0]);
                int b = Integer.parseInt(s[1]);
                Rectangle r = new Rectangle(a, b);
                ans[cnt++] = r.getArea();
            }else {
                int a = Integer.parseInt(s[0]);
                int b = Integer.parseInt(s[1]);
                int c = Integer.parseInt(s[2]);
                Triangle t = new Triangle(a, b, c);
                ans[cnt++] = t.getArea();
            }
        }

        for(int i = 0; i < cnt; i++) {
            System.out.println(ans[i]);
        }

        in.close();
    }

}

abstract class Graph{
    int a, b, c;
    abstract int getArea();
    void print() {
        System.out.println(this.getArea());
    }
}

class Triangle extends Graph{
    Triangle(int a, int b, int c){
        this.a = a;
        this.b = b;
        this.c = c;
    }
    int getArea() {
        int l = (a + b + c) / 2;
        return (int) Math.sqrt(l * (l - a) * (l - b) * (l - c));
    }
}

class Rectangle extends Graph{
    Rectangle(int a, int b){
        this.a = a;
        this.b = b;
    }
    int getArea() {
        return a * b;
    }
}
/*
4
5 5
6 6 6
4 4 4
3 4

 */
目录
相关文章
|
监控 数据可视化 虚拟化
服务器虚拟化
服务器虚拟化
710 0
|
机器学习/深度学习 编解码 计算机视觉
YOLOv8改进 | 主干篇 | SwinTransformer替换Backbone(附代码 + 详细修改步骤 +原理介绍)
YOLOv8改进 | 主干篇 | SwinTransformer替换Backbone(附代码 + 详细修改步骤 +原理介绍)
1354 0
|
10月前
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】混合并行
混合并行融合了数据并行、模型并行和流水线并行,旨在高效利用计算资源,尤其适合大规模深度学习模型训练。通过将模型和数据合理分配至多个设备,混合并行不仅提升了计算效率,还优化了内存使用,使得在有限的硬件条件下也能处理超大型模型。3D混合并行(DP+PP+TP)是最先进的形式,需至少8个GPU实现。此策略通过拓扑感知3D映射最大化计算效率,减少通信开销,是当前深度学习训练框架如Deepspeed和Colossal AI的核心技术之一。
420 15
【AI系统】混合并行
|
11月前
|
存储 前端开发 UED
2024年前端性能优化新策略
2024年前端性能优化新策略:本文探讨了最新的前端性能优化方法,包括代码分割的最新实践(如动态导入与路由分割、按需分割CSS)和环境变量管理的最佳技巧,旨在提升Web应用的速度和用户体验。
|
10月前
|
算法 决策智能
基于遗传优化算法的TSP问题求解matlab仿真
本项目使用遗传算法解决旅行商问题(TSP),目标是在四个城市间找到最短路径。算法通过编码、选择、交叉、变异等步骤,在MATLAB2022A上实现路径优化,最终输出最优路径及距离。
|
12月前
|
数据采集 DataWorks 数据管理
DataWorks不是Excel,它是一个数据集成和数据管理平台
【10月更文挑战第10天】随着大数据技术的发展,企业对数据处理的需求日益增长。阿里云推出的DataWorks是一款强大的数据集成和管理平台,提供从数据采集、清洗、加工到应用的一站式解决方案。本文通过电商平台案例,详细介绍了DataWorks的核心功能和优势,展示了如何高效处理大规模数据,帮助企业挖掘数据价值。
347 1
|
JavaScript 索引
VUE指令: Vue中的v-for指令有什么用途?
VUE指令: Vue中的v-for指令有什么用途?
169 0
|
存储 安全 Java
HashMap深入学习
HashMap深入学习
124 0
|
Linux 开发工具
vim编辑器,应该这样用!
vim编辑器,应该这样用!
vim编辑器,应该这样用!