我正在一个项目中,我必须读取文件并将内容输入2D数组。然后,我必须对每一行,每一列和矩阵的周长求和。到目前为止,除外围功能外,我一切正常。我正在尝试为两个外部列的顶行,底行和中间创建单独的for循环。

矩阵文件如下所示:

1 2 3 4

2 4 6 8

2 4 6 8

3 2 3 4

因此,周长总计应为42。现在,我可以成功地将第一行和最后一行添加为等于22。但是,当我将列添加到总数中时,我得到32。

这是代码:

import java.util.*; // Scanner class

import java.io.*; // File class

public class Lab10

{

static public void main( String [ ] args ) throws Exception

{

if ( args.length != 1 )

{

System.out.println("Error -- usage is: java Lab10 matdataN.txt");

System.exit( 0 );

}

//Requirement #1: first int value: # of rows, second int value: # of cols

File newFile = new File(args[0]);

Scanner in = new Scanner(newFile);

int numRows = in.nextInt();

int numCols = in.nextInt();

//Requirement #2: declare two-d array of ints

int[][] matrix;

matrix = new int[numRows][numCols];

//Requirement #3 & 4: read file one line at a time (nested for loops

//and nextInt()) and print

for (int i = 0; i < numRows; i++)

{

for (int j = 0; j < numCols; j++)

{

matrix[i][j] = in.nextInt();

System.out.print(matrix[i][j]+ " ");

}

System.out.println();

}

//Requirement #5: traverse each row and sum the values and display the sums

int rowTotal = 0;

for (int i = 0; i < numRows; i++)

{

rowTotal = 0;

for (int j = 0; j < numCols; j++)

{

rowTotal += matrix[i][j];

}

System.out.println("Sum for row = " + rowTotal);

}

//Requirement #6: traverse each column and sum the values and display the sums

int colTotal = 0;

for (int i = 0; i < numRows; i++)

{

colTotal = 0;

for (int j = 0; j < numCols; j++)

{

colTotal += matrix[j][i];

}

System.out.println("Sum for col = " + colTotal);

}

//Requirement #7: traverse the perimeter and sum the values and display the sum

//sum bottom row matrix

int perTotal = 0;

for (int i = (numRows-1); i < numRows; i++)

{

perTotal = 0;

for (int j = 0; j < numCols; j++)

{

perTotal += matrix[i][j];

}

}

//sum + top row matrix

for (int i = 0; i < numRows - (numRows-1); i++)

{

for (int j = 0; j < numCols; j++)

{

perTotal += matrix[i][j];

}

System.out.println("Sum of perimeter = " + perTotal);

}

// sum + first col middle

for (int i = 1; i < (numRows-1); i++)

{

for (int j = 0; j < numCols - (numCols-1); j++)

{

perTotal += matrix[j][i];

}

System.out.println("Sum = " + perTotal);

}

// sum + last col middle

for (int i = 1; i < (numRows-1); i++)

{

for (int j = (numCols-1); j < numCols; j++)

{

perTotal += matrix[j][i];

}

System.out.println(perTotal);

}

}

如果有人可以帮助我将第一列和最后一列的总和设为2 + 2和8 + 8,我将非常感激。或者,如果您有一种更好的方法来寻找周长。提前致谢!

二维数组的查找 java_查找二维数组java的总和相关推荐

  1. java二维数组遍历与元素查找

    java二维数组 格式 数据类型 [ ][ ] arrayName = new 数据类型[一维数组的个数][每个一维数组的长度] 例如: int [ ][ ] array = new int [2][ ...

  2. 【数据结构与算法】二维数组中的查找(剑指offer)java版

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 分析 ...

  3. 第二十一节(数组概要, 一维、二维数组的声明和使用,数组的排序,数组的查找,)...

    一维数组:1:/*数组:1. 数组是一种引用类型2. 数组是一种简单的数据结构,线性的机构3. 数组是一个容器,可以用来存储其他元素,4. 数组也是可以存储任意数据类型的元素5. 数组分为:一维数组, ...

  4. php 二维数组中去重,PHP实现二维数组去重功能示例

    PHP实现二维数组去重功能示例 发布于 2017-08-07 21:05:17 | 68 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prep ...

  5. 二维数组 赋值_3.9数组(数组基本使用、数组的循环、数组拷贝、数组排序、多维数组)...

    3.9数组 3.9.1数组基本使用 数组,英文叫Array,是一种数据结构,是用来存放同一数据类型数值的集合.例如存放30个int型数值.存放100个double型数值等等. 我们知道使用一个变量,需 ...

  6. python创建二维数组的方法_Python创建二维数组的正确姿势

    本文原创发布于微信公众号「极客猴」,欢迎关注第一时间获取更多原创分享 List (列表)是 Python 中最基本的数据结构.在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始.因此 ...

  7. C语言求二维数组平均数,一道JavaScript的二维数组求平均数的题

    JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下, ...

  8. c++ 二维矩阵 转vector_C++ vector 实现二维数组

    在STL中Vector这一容器,无论是在封装程度还是内存管理等方面都由于传统C++中的数组.本文主要是关于使用Vector初始化.遍历方面的内容.其他二维的思想也是类似的. 这里简单叙述一下C++ 构 ...

  9. java 二维数组 的方法和属性_Java一维数组和二维数组详解(Java必备知识)

    数组是最为常见的一种数据结构,分为一级数组,二维数组以及多维数组.是把相同数据类型的元素,用一个标识符封装到一起的基本类型数据序列或对象序列. 目录 一维数组 创建一维数组 给一维数组赋值 获取数组的 ...

最新文章

  1. Service Mesh是大方向,那Database Mesh呢?
  2. ***工具CC***的思路及防范方法
  3. Nginx—— Rewrite规则的使用
  4. android 美颜进度条,使用腾讯会议开会时如何开美颜?简单五步轻松实现!
  5. 计算机可以按用户观点分吗,2016-2017杭州师范大学操作系统期末考试选择题
  6. 关联容器——map、set
  7. 自定义表单提交后返回上一页修改
  8. python表达式3and5_表达式 3 and 5 的值为____________。(5.0分)_学小易找答案
  9. 足球机器人第一次作业:编写程序解析球员所看到和听到的信息。
  10. 假设检验之t检验详解
  11. day12 三大神器
  12. filter()“筛选”函数
  13. 分布式 | 如何与 DBLE 进行“秘密通话”
  14. mysql允许远程链接,开放3306端口
  15. 大学计算机基础 教材建设,《大学计算机基础》课程建设与教材编写.pdf
  16. 【go 科学计算】用于统计、机器学习和数据操作
  17. python32位与62位可以随便装吗_电脑32位和64位可以随便换吗???
  18. python根据excel生成报表_python生成Excel图表(通过xlsxwriter)
  19. 钛资本研究院:创业公司如何搭建高管团队,实现组织跃升?
  20. GD32E232Kx 引脚功能表

热门文章

  1. turtle 20秒画完小猪佩奇“社会人”
  2. 物联网商机迸发 LPWAN芯片现身 本文转自d1net(转载)
  3. HTTPS 原理解析
  4. clear ,refresh,free
  5. 怎么在图片上面加个div层,让它浮于图片上方
  6. Oracle Buffer Cache的keep、recycle、default pool概念图解
  7. 匿名内部类和匿名类_匿名schanonymous
  8. 熊猫数据集_熊猫迈向数据科学的第二部分
  9. 重学TCP协议(11)TFO(Tcp Fast Open)
  10. vim捐赠_#PayItBackwards-一位freeCodeCamp毕业生如何向事业捐赠10,000美元