二维数组的查找 java_查找二维数组java的总和

我正在一个项目中,我必须读取文件并将内容输入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,我将非常感激。或者,如果您有一种更好的方法来寻找周长。提前致谢!

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

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

相关文章

递归法解决兔子问题

记得以前過相似问题&#xff0c;今天有同事问道&#xff0c;竟然不知所答&#xff0c;故写篇文章以记之。 一般而言&#xff0c;兔子在出生两个月后&#xff0c;就有繁殖能力&#xff0c;一对兔子每个月能生出一对小兔子来。如果所有兔子都不死&#xff0c;那么若干月以后可以繁…

mysql本地连接错误解决办法

今天公司同事在测试服务器上死活不能用一个账号在本地登陆,但是远程就可以,于是我帮忙看了下,测试服务器的IP是10.10.2.226,错误如下:linux-0fdr:/home1/mysql_data # mysql -h 10.10.2.226 -u jxq2 -pjxq2ERROR 1045 (28000): Access denied for user jxq2linux-0fdr (using p…

leetcode546. 移除盒子(dp)

给出一些不同颜色的盒子&#xff0c;盒子的颜色由数字表示&#xff0c;即不同的数字表示不同的颜色。 你将经过若干轮操作去去掉盒子&#xff0c;直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子&#xff08;k > 1&#xff09;&#xff0c;这样一轮…

408. Valid Word Abbreviation

题目&#xff1a; Given a non-empty string s and an abbreviation abbr, return whether the string matches with the given abbreviation. A string such as "word" contains only the following valid abbreviations: ["word", "1ord", &qu…

oracle常用操作指令

登录oracle用户: sqlplus 用户名/密码 创建用户&#xff1a;create user 要创建的用户名 identified by 当前用户名; 授权&#xff1a;grant resource,connect to 要授权的用户名; 删除用户&#xff1a;drop user 用户名 创建表&#xff1a; create table student( id n…

java接收二进制数据_java-从套接字读取二进制数据

我正在尝试连接到服务器,然后向其发送HTTP请求(在这种情况下为GET).这个想法是请求一个文件,然后从服务器接收它.它应同时适用于文本文件和二进制文件(例如imgs).我对文本文件没有任何问题,它可以完美工作,但是对二进制文件有一些麻烦.首先,我声明一个BufferedReader(用于读取标…

web开发入门_Web开发人员和设计师的自由职业入门

web开发入门Learn how to get started with freelancing as a web developer and designer. Cara Bell shares lessons and tips she has learned from her years as a freelancer.了解如何以网络开发人员和设计师的身份开始自由职业。 卡拉贝尔(Cara Bell)分享了她从自由职业者…

leetcode1343. 大小为 K 且平均值大于等于阈值的子数组数目(队列)

给你一个整数数组 arr 和两个整数 k 和 threshold 。 请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。 示例 1&#xff1a; 输入&#xff1a;arr [2,2,2,2,5,5,5,8], k 3, threshold 4 输出&#xff1a;3 解释&#xff1a;子数组 [2,5,5],[5,5,5] 和 [5,5,8…

二分查找递归和非递归方法分析

递归实现&#xff1a; 自己写的递归&#xff1a;多一个赋值操作&#xff0c;虽然可以得到正确的结果。但是比较难以理解。 问题&#xff1a;没有深刻理解递归返回值。return会在递归调用到最后&#xff0c;在递归结束的地方&#xff0c;会将返回值一层一层返回给方法&#xff0…

BaseYii_autoload

BaseYii_autoload 判断是否是classMap还是命名空间的 然后 转换成 绝对路径 include 文件  public static function autoload($className){      //classMap 一般都是类库 官方 或者自定义类映射 if (isset(static::$classMap[$className])) {$classFile static::$cla…

sasl java_javaSASL_SSL帐号密码方式访问kafka

java SASL_SSL帐号密码 方式访问 kafkaProducer Java Sample java生产者:Properties props new Properties();props.put("bootstrap.servers","*******:9092,*******:9092");props.put("acks", "all");//props.put("retries&quo…

RedHat5.2下Linux Oracle 10g ASM 安装详细实录-第二篇-ASM安装

五、安装ASM 1、在oracle网站下载支持包&#xff1a;http://www.oracle.com/technology ... x/asmlib/rhel5.html 2、根据linux内核下载相应的asm安装包:根据uname –a查看内核&#xff08;黄底红字为内核&#xff09;&#xff1a;$ uname -aLinux L-DB-3-6 2.6.18-92.el5 #1 S…

心理学专业转用户体验_用心理学设计奇妙的用户体验

心理学专业转用户体验We are all influenced by the world around us and by how our minds work. Designers need to be able to understand this and design for it.我们所有人都受到周围世界以及我们思维方式的影响。 设计师需要能够理解这一点并为此进行设计。 In this ta…

leetcode面试题 16.04. 井字游戏

设计一个算法&#xff0c;判断玩家是否赢了井字游戏。输入是一个 N x N 的数组棋盘&#xff0c;由字符" "&#xff0c;“X"和"O"组成&#xff0c;其中字符” "代表一个空位。 以下是井字游戏的规则&#xff1a; 玩家轮流将字符放入空位&#x…

JAVA基础_修饰符

引言&#xff1a;Java的修饰符根据修饰的对象不同&#xff0c;分为类修饰符、方法修饰符、变量修饰符&#xff0c;其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。访问控制存在的原因&#xff1a;a、让客户端程序员无法触及他们不应该触及的部分 b、允许库设计者可以改…

etcd与mysql_etcd数据库备份与还原

1. 备份etcd1.1 手动备份数据etcdctl backup --data-dir /var/lib/etcd/default.etcd --backup-dir 备份目录1.2 脚本备份数据使用etcd自带命令etcdctl进行etc备份&#xff0c;脚本如下&#xff1a;#!/bin/bashdate_timedate %Y%m%detcdctl backup --data-dir /var/lib/etcd/de…

iOS https双向配置

只需要服务器验证手机端的童鞋可以点开以下链接【ios 单向配置https】 http://www.cnblogs.com/OC888/p/6560602.html 兜兜转转弄了一个星期&#xff0c;网上的大多数demo都下来过一遍了&#xff0c;各种偏方都试了&#xff0c;终于配置好了双向配置&#xff0c;网上大多数标题…

创业-程序员独自5大思维障碍

程序员是最容易创业的&#xff0c;或者说是创业成本最低的职业。只要有一台电脑和投入自己的时间&#xff0c;就可以写出畅销天下的软件&#xff0c;这是每个程序员的梦想。更何况世界首富常年以来就是程序员出身的比尔盖茨&#xff0c;这也刺激了更多的程序员走上创业之路。 …

leetcode1144. 递减元素使数组呈锯齿状

给你一个整数数组 nums&#xff0c;每次 操作 会从中选择一个元素并 将该元素的值减少 1。 如果符合下列情况之一&#xff0c;则数组 A 就是 锯齿数组&#xff1a; 每个偶数索引对应的元素都大于相邻的元素&#xff0c;即 A[0] > A[1] < A[2] > A[3] < A[4] >…

typescript_清洁架构的TypeScript刺

typescriptby Warren Bell沃伦贝尔(Warren Bell) 清洁架构的TypeScript刺 (A TypeScript Stab at Clean Architecture) 剥洋葱皮的方法不止一种。 (More than one way to skin an onion.) 清洁建筑 (Clean Architecture) There are many videos and articles explaining clean…