栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

三维形体投影面积(java)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

三维形体投影面积(java)

问题描述:

样例如下:


代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class ProjectionArea {
    public int projectionArea(int[][] grid) {
      return topView(grid)+frontView(grid)+sideView(grid);
    }
    //俯视图
    public int topView(int[][] grid){
        int res=0;//扫描所有元素,若该点的元素值大于1,则表示在俯视图中存在一块小正方形
        for (int i = 0; i 
            for (int j = 0; j 
                if (grid[i][j]>0)res++;
            }
        }
        return res;
    }
    //正视图
    public int frontView(int[][] grid){
        int res=0;
        for (int i = 0; i 
            int temp=0;//记录该列最大值
            for (int j = 0; j 
                if (grid[j][i]>temp)temp=grid[j][i];
            }
            res+=temp;
        }
        return res;
    }
    //侧视图
    public int sideView(int[][] grid){
        int res=0;
        for (int i = 0; i 
            int temp=0;//记录该行的最大值
            for (int j = 0; j 
                if (grid[i][j]>temp){
                    temp=grid[i][j];
                }
            }
            res+=temp;
        }
        return res;
    }

    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请输入二维数组行数");
        int n=scanner.nextInt();
        int[][] grid=new int[n][];
        System.out.println("请输入二维数组(按行输入,元素之间用逗号隔开)");
        try {
            for (int i = 0; i 
                String[] temp=bufferedReader.readLine().split(",");
                int[] a=new int[temp.length];
                for (int j = 0; j 
                    a[j]=Integer.parseInt(temp[j]);
                }
                grid[i]=a;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("该图的三视图之和为:");
        ProjectionArea projectionArea=new ProjectionArea();
        int res=projectionArea.projectionArea(grid);
        System.out.println(res);
    }
}

运行结果如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号