Java基础(八)二维数组

news2024/9/26 1:19:20

数组

二、二维数组

1. 二维数组使用步骤

  • 定义二维数组
    格式:数据类型 数组名[][];数据类型[][] 数组名;
int scores[][];
int[][] scores;
  • 为二维数组元素分配内存
    格式:数据类型 数组名[][];数据类型[][] 数组名;
int scores[][];
scores = new int[3][3];

二维数组实际上是一个一维数组,这个一维数组的每一个元素又是一个一维数组。

在这里插入图片描述

  • 二维数组初始化
int[][] scores = new int[][] {
	{11, 12, 13},
	{21, 22, 23},
	{31, 32, 33}
};

或者

int[][] scores = {
	{11, 12, 13},
	{21, 22, 23},
	{31, 32, 33}
}
  • 二维数组的遍历
public class RankingOfGrades {
    public static void main(String[] args) {
        /*
                多维数组排序
        每个同学有三门课的成绩分别是数组的 1 2 3 个元素个班有 5个同学,按他们的总成绩输出每个同学的成绩
         */
        int[][] scores = {
                {78, 89, 93},
                {88, 92, 89},
                {79, 87, 88},
                {92, 96, 99},
                {94, 90, 87}
        };
        int[][] grades = new int[scores.length][2];
        for (int i = 0; i < scores.length; i++) {
            int sum = 0;
            for (int j = 0; j < scores[i].length; j++) {
                sum += scores[i][j];
            }
            grades[i][0] = sum;
            grades[i][1] = i;
        for (int i = 1; i < grades.length; i++) {
            int index = i - 1;
            int[] num = grades[i];
            while (index >= 0 && num[0] > grades[index][0]) {
                grades[index + 1] = grades[index];
                index --;
            }
            grades[index + 1] = num;
        }
        for (int i = 0; i < grades.length; i++) {
            System.out.println(Arrays.toString(scores[grades[i][1]]));
        }
    }
}

输出:

[92, 96, 99]
[94, 90, 87]
[88, 92, 89]
[78, 89, 93]
[79, 87, 88]

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

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

相关文章

MinGW-w64的安装详细步骤(c/c++的编译器gcc、g++的windows版,win10、win11真实可用)

文章目录 1、MinGW的定义2、MinGW的主要组件3、MinGW-w64下载与安装3.1、下载解压安装地址3.2、MinGW-w64环境变量的设置 4、验证MinGW是否安装成功5、编写一段简单的代码验证下6、总结 1、MinGW的定义 MinGW&#xff08;Minimalist GNU for Windows&#xff09; 是一个用于 W…

无菌车间ar实景巡检为企业带来了诸多好处

随着科技的不断发展&#xff0c;AR增强现实技术逐渐渗透到各个行业&#xff0c;为生产制造带来了前所未有的便捷。特别是在制造业中&#xff0c;AR增强现实技术的应用正逐步改变着传统的生产模式&#xff0c;为企业带来了诸多优势。 传统的巡视方式往往需要人工实地查看设备&am…

多进程利用TCP进行信息群发功能

/服务器的代码 #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #define SEVER_IP &quo…

抖音商品上架有攻略:详细介绍步骤与注意事项

抖音是一款非常流行的短视频分享平台&#xff0c;也是一个非常适合进行商品销售的平台。上架商品是在抖音上进行电商销售的重要一环&#xff0c;下面不若与众将介绍抖音商品的上架流程和注意事项。 1. 注册账号和认证&#xff1a;首先&#xff0c;你需要在抖音平台上注册一个账…

同步辐射散射数据处理分析方法及实验过程

同步辐射散射数据处理分析方法及过程 同步辐射散射测试是一种先进的材料表征技术&#xff0c;已广泛应用于材料科学、生物学、化学等领域。同步辐射散射技术利用同步辐射光源产生的高亮度辐射&#xff0c;通过散射实验来研究样品的结构、形态和动态行为。 同步辐射散射处理分析…

ThreadLLocal的学习

ThreadLocal的学习 ThreadLocal的学习1.ThreadLocal是什么&#xff1f;2.ThreadLocal的数据结构Java的四种引用类型 3.ThreadLocal为什么会出现内存泄露&#xff1f;既然会出现内存泄露为什么Entry的key还要使用弱引用&#xff1f;如何避免内存泄露&#xff1f; ThreadLocal的学…

数据分析案例《共享单车使用量综合分析案例》上新啦

《共享单车使用量综合分析案例》是一门数据分析和统计学的课程&#xff0c;旨在教学生如何综合运用数据分析技术&#xff0c;研究共享单车使用量的变化和影响因素&#xff0c;从真实的数据中探索有关共享单车使用量的问题&#xff0c;并通过数据挖掘、统计分析等方法&#xff0…

详解推送Git分支时发生的 cannot lock ref 错误

在码云上建了一个项目仓库,分支模型使用 git-flow ,并在本地新建了一个功能分支 feature/feature-poll。后来在推送时发生错误,提示 cannot lock ref ...... 这样的错误信息。下面复盘一下具体过程和解决办法,以供参考。 在码云中建立仓库时,考虑到想按照 GitFlow 的模式…

怎么把两个pdf合并成一个?这几种方法值得了解

怎么把两个pdf合并成一个&#xff1f;在日常工作中&#xff0c;我们经常需要合并两个或多个PDF文件成一个。但是&#xff0c;对于不熟悉PDF编辑器的人来说&#xff0c;这可能是一个棘手的问题。在本文中&#xff0c;我们将介绍一些合并PDF文件的方法&#xff0c;有需要的小伙伴…

音视频--视频数据传输

参考文献 H264码流RTP封装方式详解&#xff1a;https://blog.csdn.net/water1209/article/details/126019272H264视频传输、编解码----RTP协议对H264数据帧拆包、打包、解包过程&#xff1a; https://blog.csdn.net/wujian946110509/article/details/79129338H264之NALU解析&a…

【Leetcode】对称二叉树||递归(击败100%)

step by step. 题目&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 输入&#xff1a;root [2,1,3] 输出…

lc2536.子矩阵元素加1

暴力解法&#xff1a;直接按照题目所示在矩阵的相应位置加一 时间复杂度&#xff1a;O(n2 * queries.length) 空间复杂度&#xff1a;O(1) 二维差分&#xff1a;创建二维差分数组&#xff0c;通过对差分数组的修改来影响原来的数组&#xff0c;最后还原 时间复杂度&#x…

FcaNet: Frequency Channel Attention Networks

FcaNet: Frequency Channel Attention Networks Abstract预备知识GAPDTC&#xff08;离散余弦变换&#xff09; 本文methodRevisiting DCT and Channel AttentionChannel Attention Multi-Spectral Channel AttentionMulti-Spectral Channel Attention ModuleCriteria for Choo…

超导材料LK-99烧制工艺中高真空度及其气氛环境控制的解决方案

摘要&#xff1a;根据近期LK-99超导材料研究报道&#xff0c;我们分析此材料制备采用了真空烧结工艺。由于目前大部分复现研究所用的真空烧结技术和设备都非常简陋&#xff0c;使得LK-99的复现性很差。为此我们提出了真空度准确控制解决方案&#xff0c;其目的第一是实现烧结初…

排序(快速排序,归并排序,插入排序,选择排序,冒泡排序,希尔排序,堆排序)

给定你一个长度为 n 的整数数列。 请你对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行&#xff0c;第一行包含整数 n 。 第二行包含 n 个整数&#xff08;所有整数均在 1∼109 范围内&#xff09;&#xff0c;表示整个数列。 输…

【深度学习MOT】SMILEtrack SiMIlarity LEarning for Multiple Object Tracking,论文

论文&#xff1a;https://arxiv.org/abs/2211.08824 文章目录 AbstractIntroduction2. 相关工作2.1 基于检测的跟踪2.1.1 检测方法2.1.2 数据关联方法 2.2 基于注意力的跟踪 3. 方法3.1 架构概述3.2 用于重新识别的相似性学习模块&#xff08;SLM&#xff09; Experimental Res…

【Docker晋升记】No.2 --- Docker工具安装使用、命令行选项及构建、共享和运行容器化应用程序

文章目录 前言&#x1f31f;一、Docker工具安装&#x1f31f;二、Docker命令行选项&#x1f30f;2.1.docker run命令选项&#xff1a;&#x1f30f;2.2.docker build命令选项&#xff1a;&#x1f30f;2.3.docker images命令选项&#xff1a;&#x1f30f;2.4.docker ps命令选项…

上篇文章viewerjs(npm包补丁)的错误更正。(npm补丁本地没问题,流水线打包要没效果,要么报错)

1、上篇文档的包补丁在本地使用没有问题&#xff0c;并且同事拉代码后也会自动同步npm_modules&#xff0c;也没有问题 2、问题出现在打包上&#xff0c;我这边的项目是用teambition上的飞流设置的流水线来进行打包的&#xff0c;里面用到了两个指令 yarn install npm run bu…

学习左耳听风栏目90天——第二天 2/90(学习左耳朵耗子的工匠精神,对技术的热爱)【程序员如何用技术变现(上)】

总结&#xff1a; 要去经历大多数人经历不到的&#xff0c;要把学习时间花在那些比较难的地方。要写文章就要写没有人写过的&#xff0c;或是别人写过&#xff0c;但我能写得更好的。更重要的是&#xff0c;技术和知识完全是可以变现的。学好英文&#xff0c;看技术文档 程序员…

解决idea编辑application.yml文件或properties文件没有提示问题

注意&#xff1a;这里说的没有提示&#xff0c;是针对application.properties和application.yml文件 解决办法&#xff1a;在idea的插件面板中&#xff0c;禁用或卸载 wl Spring Assistant插件即可解决问题。