精华内容
下载资源
问答
  • java二维数组获取单个元素详解
    千次阅读
    2021-03-05 11:43:02

    前面给大家带来过初始化二维数组的内容,有讲到过2种方式创建并初始化了一个二行二列的int类型数组temp的知识,那么下面就要来继续给大家讲一下获取单个元素的知识,一起来了解一下吧。

    在需要获取二维数组中元素的值的时候,也可以使用下标来表示。

    语法如下所示:arrayName[i-1][j-1];

    在这当中,arrayName表示数组名称,i表示数组的行数,j表示数组的列数,例要获取第二行第二列元素的值,应该使用temp[1][1]来表示,这主要是因为数组的下标起始值为0,所以的话行和列的下标需要减1。

    示例:

    通过下标获取class_score数组当中第二行第二列元素的值和第四行第一列元素的值,下面是代码:public static void main(String[] args)

    {

    double[][] class_score = {

    {

    10.0

    , 99

    , 99

    }

    , {

    100

    , 98

    , 97

    }

    , {

    100

    , 100

    , 99.5

    }

    , {

    99.5

    , 99

    , 98.5

    }

    };

    System.out.println("第二行第二列元素的值:" + class_score[1][1]);

    System.out.println("第四行第一列元素的值:" + class_score[3][0]);

    }

    执行上面的代码,下面是输出结果:第二行第二列元素的值:98.0

    第四行第一列元素的值:99.5

    以上就是关于二维数组获取单个元素的简单介绍了,希望可以对你有所帮助,更多java入门知识,请继续通过关注奇Q工具网来进行了解吧。

    推荐阅读:

    更多相关内容
  • 一、二维数组以及多维数组1、二维数组的定义:?在一维数组中定义每一个元素也是一个数组元素,这样的数组称为”二维数组“?多维数组就是在一维数组上再次定义二维数组或三位数组等。?一维数组定义int [] array={1,2,...

    一、二维数组以及多维数组

    1、二维数组的定义:

    ?在一维数组中定义每一个元素也是一个数组元素,这样的数组称为”二维数组“

    ?多维数组就是在一维数组上再次定义二维数组或三位数组等。

    ?一维数组定义int [] array={1,2,3}

    //定义三个长度的二维数组,其数组的每一个元素是一个一维数组

    int [][] arrays={{},{},{}};

    或者

    int [][] arrays=new int [3][2];//等号右边的左边[]中表示二维数组的长度,其中2可以省略,3不能省略

    //注意:等号左边有几个[]就表示几维

    173b06f2f0f78badc0c5388cdb655b28.png

    //1、定义二维数组

    int [][] array;

    //定义时给二维数组赋值 3个长度的二维数组里面的一维数组的长度不一定相等

    int [][] array2={{1,2,3},{4,5},{7,8}}

    //定义时只指定大小,不给定初始值

    int [][]array3=new int[3][];//等价{{},{},{}}

    //array3[0][0]=1;//赋值时 空指针异常,因为里面的一维数组是空的

    //定义一个3个长度的二维数组,里面的元素长度是2

    int array4[][]=new int[3][2];

    //给元素赋值

    array4[0][0]=1;

    //输出二维数组中的所有元素

    for(int i=0;i

    //System.out.println(array4[i]);

    for(int j=0;j

    System.out.println(array[i][j]);

    }

    }

    二、二维数组的应用

    1、定义5*5的矩阵,计算最大值最小值

    public class Test{

    public static void main(String[] args) {

    //定义一个5*5的二维数组

    int [][] array=new int[5][5];

    //定义最大值,并初始化

    int max=0;

    //定义最小值,并初始化

    int min=0;

    //为二维数组中的每一个元素赋上一个0-100的整数值,并遍历输出二维数组

    for (int i = 0; i

    for (int j = 0; j

    array[i][j]=(int)(Math.random()*100);

    System.out.print(array[i][j]+"\t");

    }

    System.out.println();//换行

    }

    //将数组中的第一个元素赋值给max

    max =array[0][0];

    for (int i = 0; i

    for (int j = 0; j

    //如果数组中元素大于max,则将元素赋值给max

    if(array[i][j]>=max){

    max=array[i][j];

    }

    }

    }

    //输出二维数组中的最大值

    System.out.println("最大值为:"+max);

    //将数组中的第一个元素赋值给min

    min =array[0][0];

    for (int i = 0; i

    for (int j = 0; j

    //如果元素小于min,则将元素赋值给min

    if(array[i][j]<=min){

    min=array[i][j];

    }

    }

    }

    //输出二维数组中的最小值

    System.out.println("最小值为:"+min);

    }

    }

    2、五子棋游戏

    public class Test{

    //定义一个字符串型20*20的二维数组

    static String [][] qipan=new String[20][20];

    public static void main(String[] args) {

    System.out.println("------------------------------五子棋游戏------------------------------");

    //初始化棋盘

    for (int i = 0; i

    for (int j = 0; j

    qipan[i][j]="+";

    }

    }

    printQipan();

    System.out.println("游戏开始:");

    Scanner sc=new Scanner(System.in);

    while(true) {

    System.out.println("请玩家(黑棋)落子:");

    System.out.print("请输入棋子的行数(1-20):");

    int num1 = sc.nextInt();

    System.out.print("请输入棋子的列数(1-20):");

    int num2 = sc.nextInt();

    if (num1 <= 0 || num1 > 20 || num2 <= 0 || num2 > 20 ) {

    System.out.println("落子超出棋盘边界,请重新落子!");

    continue;

    } else {

    if( qipan[num1 - 1][num2 - 1] != "+"){

    System.out.println("该位置已有棋子,请重新落子!");

    continue;

    }else{

    qipan[num1-1][num2-1]="?";

    }

    }

    //白棋落子

    int row=0;

    int col=0;

    // System.out.println("白棋思考中...");

    while(true){

    row=(int)(Math.random()*20);

    col=(int)(Math.random()*20);

    if(qipan[row][col]=="+"){

    break;

    }

    }

    qipan[row][col]="●";

    //打印棋盘

    printQipan();

    //判断输赢

    if(judge()){

    System.out.println(s+"赢了");

    break;

    }

    }

    }

    //打印棋盘

    public static void printQipan(){

    for (int i = 0; i

    for (int j = 0; j

    System.out.print(qipan[i][j]+"\t");

    }

    System.out.println();

    }

    }

    //判断输赢的方法

    static String s="";

    public static boolean judge(){

    boolean flag=false;

    for (int i = 0; i

    for (int j = 0; j

    if(qipan[i][j]=="?"||qipan[i][j]=="●"){

    //判断横向

    if(j<16&&

    qipan[i][j]==qipan[i][j+1]

    &&qipan[i][j]==qipan[i][j+2]

    &&qipan[i][j]==qipan[i][j+3]

    &&qipan[i][j]==qipan[i][j+4]){

    s=qipan[i][j];

    flag=true;

    break;

    }

    //判断右斜下

    else if(i<16&&j<16&&qipan[i][j]==qipan[i+1][j+1]

    &&qipan[i][j]==qipan[i+2][j+2]

    &&qipan[i][j]==qipan[i+3][j+3]

    &&qipan[i][j]==qipan[i+4][j+4]){

    s=qipan[i][j];

    flag=true;

    break;

    }

    //判断纵向

    else if(i<16&&qipan[i][j]==qipan[i+1][j]

    &&qipan[i][j]==qipan[i+2][j]

    &&qipan[i][j]==qipan[i+3][j]

    &&qipan[i][j]==qipan[i+4][j]){

    s=qipan[i][j];

    flag=true;

    break;

    }

    //判断左斜下

    else if(i<16&&j>3&&qipan[i][j]==qipan[i-1][j-1]

    &&qipan[i][j]==qipan[i-2][j-2]

    &&qipan[i][j]==qipan[i-3][j-3]

    &&qipan[i][j]==qipan[i-4][j-4]){

    s=qipan[i][j];

    flag=true;

    break;

    }

    }

    }

    }

    return flag;

    }

    }

    拓展:利用二分法查找数组中的元素

    public class Test {

    public static void main(String[] args) {

    // 1、指定一个20个长度的数组 随机数

    int [] array=new int[20];

    for (int i = 0; i

    array[i]=(int)(Math.random()*100);

    }

    //输出数组中的每一个元素

    System.out.println("数组中的元素为:");

    System.out.println(Arrays.toString(array));

    // 2、排序 (升序)

    Arrays.sort(array);

    //输出排序后的数组

    System.out.println("排序后的数组为:");

    System.out.println(Arrays.toString(array));

    // 3、输入一个目标数

    Scanner sc=new Scanner(System.in);

    System.out.print("请输入想要查找的数字:");

    int num=sc.nextInt();

    // 3、比较

    //定义 最小值下标 最大值下标 中间值下标 查找的目标下标

    /**

    * 最小下标 0

    * * 最大下标 length-1

    * *

    * * 循环条件: 最小值小标<=最大值下标

    * 中间下标: middle = (最小值+最大值)/2

    * * 如果中间值比目标大 说明 在左边 改变最大值下标 = 中间值下标-1

    * * 如果中间值比目标小 说明 在右边 改变最小值小标 = 中间值下标+1

    * * 如果相等 就break

    * * 一直这样比较 结束的条件是什么

    */

    //最小值小标

    int minIndex=0;

    //最大值下标

    int maxIndex=array.length-1;

    //中间值下标

    int middle;

    //目标值下标

    int index=-1;

    //计数器

    int count=0;

    while(minIndex<=maxIndex){

    count++;

    middle=(minIndex+maxIndex)/2;

    if(num

    maxIndex=middle-1;

    }else if(num>array[middle]){

    minIndex=middle+1;

    }else {

    index=middle;

    break;

    }

    }

    if(index!=-1){

    System.out.println("目标已找到");

    System.out.print("共查询次数:"+count+"\n");

    System.out.print("目标数下标为:"+index);

    }else{

    System.out.println("目标不存在");

    }

    }

    }

    原文:https://www.cnblogs.com/hss945/p/13797668.html

    展开全文
  • java二维数组练习题精品文档2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 java二维数组练习题 1) 数组的元素通过来访问,数组Array的长度为。2) 数组复制时,”=“将一个数组的传递给...

    java二维数组练习题

    精品文档2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 java二维数组练习题 1) 数组的元素通过来访问,数组Array的长度为。

    2) 数组复制时,”=“将一个数组的传递给另一个数组。

    3) 没有显式引用变量的数组称为数组。

    4) JVM将数组存储在中。

    5) 数组的二分查找法运用的前提条件是数组已经。

    6) 矩阵或表格一般用维数组表示。

    7) 如果把二维数组看成一维数组,那么数组的元素是数组。

    8) Java中数组的下标的数据类型是。

    9) 不用下标变量就可以访问数组的方法是。

    10) 数组最小的下标是。

    11) arraycopy的最后一个参数指明。

    12) 向方法传递数组参数时,传递的是数组的。

    13) 线性查找法的平均查找长度为。

    14) 数组初始化包括。

    15) 数组下标访问超出索引范围时抛出异常

    16) 浮点型数组的默认值是。

    17) 对象型数组的默认值是。

    18) 对象类型的数组虽然被默认初始化,但是并没有构造函数。

    19) 二维数组的行的长度不同。

    20) 数组创建后其大小改变。

    二选择题

    1. 下面错误的初始化语句是___

    A. char str[]=“hello”; B. char str[100]=“hello”;

    C. char str[]={‘h’,’e’,’l’,’l’,’o’};D. char str[]={‘hello’};

    2. 定义了一维int型数组a[10]后,下面错误的引用是___

    A.a[0]=1; B.a[10]=2; C.a[0]=5*2; D.a[1]=a[2]*a[0];

    3. 下面的二维数组初始化语句中,正确的是____

    A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}};

    C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0};

    4. 引用数组元素时,数组下标可以是____

    A.整型常量 B.整型变量 C.整型表达式 D.以上均可

    5. 定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____

    A.4B.25C. 18D. 17

    6. 下列初始化字符数组的语句中,正确的是____

    A. char str[5]=“hello”; B. char str[]={‘h’,’e’,’l’,’l’,’o’,’\0’};

    C. char str[5]={“hi”}; D. char str[100]=““;

    7. 数组在Java中储存在中

    A.栈

    main{ B.队列 C.堆 D.链表. 下面程序的运行结果是____

    int x=30;

    int[] numbers=new int[x];

    x=60;

    System.out.println;

    }

    A.60B.20C.30D.50

    9. 下面 不是创建数组的正确语句

    A.float f[][]=new float[6][6];

    C.float f[][]=new float[][6];

    10. 下面不是数组复制方法的是

    A.用循环语句逐个复制数组

    C. 用”=“进行复制

    A.a 11. 数组a的第三个元素表示为 B.a[3]C.aD.a[2]

    12. 当访问无效的数组下标时,会发生

    A. 中止程序 B.抛出异常 C. 系统崩溃 D.直接跳过

    13. 使用arraycopy方法将数组a复制到b正确的是

    A. arraycopyB. arraycopy

    C.. arraycopyD. arraycopy

    14. 关于数组默认值,错误的是

    A. char--’”u0000’ B. Boolean--trueC. float--0.0fD. int-- 0

    15. 关于数组作为方法的参数时,向方法传递的是

    A. 数组的引用B.数组的栈地址C.

    展开全文
  • 咳咳,有小伙伴公众号私信说需要出一期二维数组 的知识点,我翻了翻公众号的历史文章,果然没有,这边自罚一杯 1. 二维数组基本概念 之前我们已经知道什么是 数组(一维数组)javaj基础—数组,数组的存取 这里...
  • java入门~ 我的代码写到这里 不知道下面怎么改,求高人指教!如何表示找到#并且输出#的下标
  • Java二维数组的最大值和下标

    千次阅读 2020-09-28 17:49:49
    学习中遇到的一个小题目:遍历二维数组,元素中的最大值和下标。代码如下: package test; import java.util.Arrays; public class Test6 { public static void main(String[] args) { int[][] arr1 = new int...
  • 所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的...数组是用于储存多个相同类型数据的集合,数组有一维数组,二维数组,...
  • 目录一维数组创建一维数组给一维数组赋值获取数组的长度常见错误二维数组创建二维数组二维数组赋值二维数组的使用场景多维数组不规则数组数组的基本操作遍历数组填充和批量替换数组元素难点解答为什么数组索引从0...
  • java二维数组创建方法

    2021-04-23 13:39:01
    java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法二维数组的定义 type arrayName[ ][ ]; type [ ][ ]arrayName Java 二维数组的声明、初始化和引用...
  • 实质上,数组是一个简单的线性序列,因此访问速度很快一维数组一组相同类型数据的线性集合,一旦声明了数组的大小,就不能再修改。创建数据类型[] 数组名; 数据类型既可以是基本数据类型,也可以是引用数据类型String...
  • 转为 3*3 的二维数组: { 1,2,3 4,5,6 7,8,9 } 我们不难看出: 一维数组第1个元素在数组中为 arr[0][0], 一维数组第3个元素在数组中为 arr[0][2], 一维数组第4个元素在数组中为 arr[1][0], 由于第(n+1)个元素...
  • 数组中的每一个数据我们可以称为元素,每个元素可以通过索引(下标)来访问(获取)。数组的一些特性java数组要求所有的元素具有相同的数据类型,因此一个数组只能存储一种数据类型的数据,而不能存储多种数据类型的数据...
  • 数组数组是大部分编程语言所支持的数据结构,Java也支持数组Java数组是一种引用类型的变量,Java程序通过数组引用变量来操作数组,包括获取数组的长度,访问数组的值等。数组的基本概念数组是用于存储多个数据,...
  • 一个二维数组要想得到这种效果,需要添加行下标和列下标 题目为:定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课 按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。 由此可知,...
  • //创建一个二维数组11*11 int[][] a = new int[11][11]; //动态初始化 a[1][2] = 1; a[2][3] = 2; //遍历二维数组 System.out.println("遍历二维数组:"); //该循环没法获取下标 for (int[] ints : a) { //a....
  • 二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组Java中二维数组被看作...
  • java二维数组怎么用

    2021-03-17 20:42:13
    详细内容Java二维数组其实是一位数组的嵌套(每一行看做一个内层的一维数组)定义格式数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][每个一维数组的长度];int[][] arr = new int[3][5];...
  • java二维数组的赋值方法

    千次阅读 2021-03-05 21:13:11
    java数组中,我们想要知道其长度,可以通过赋值的方法来实现。...1.赋值概念使用双下标访问二维数组中的元素:第一个下标代表:行号(高维下标)。第二个下标代表:列号(低维下标)。2.赋值实例(1)赋...
  • 二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组Java 中二维数组被看作...
  • Java二维数组

    千次阅读 2021-06-01 22:57:10
    Java二维数组创建二维数组初始化二维数组获取单个元素获取全部元素获取整行/整列元素 为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来。二维数组的结构决定了其能非常方便...
  • 二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。创建二维数组Java 中二维数组被看作数组...
  • 二维数组好比一个表格,第一个下标表示行,第二个下标表示列,数组的创建和初始化与一位数组一模一样,及二维数组就是一个把多个一维数组包起来的数组。 数组的创建: type[][] arrayName;或者 type arrayName[][]; ...
  • 数组的相关概念 数组名 元素 角标、下标、索引 数组的长度:元素的个数 三、数组的特点 1)数组是有序排序的 2)数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型 3)...
  • 现存在一个字符串二维数组: String name[][] = { { "lisi", "wangwu", "laibai" }, { "zhaojun", "zhenji" }, { "chengyaijin", null, "hanxin", "liubei" } }; 要求 我们要在其中找到元素“lisi”这个元素,...
  • java-二维数组-求和

    2022-01-10 20:05:21
    二维数组-求和 遍历二维数组,并将各个值累计到 int sum public class TwoDimensionalArray05 { //编写一个main方法 public static void main(String[] args) { /* int arr[][]={{4,6},{1,4,5,7},{-2}}; ...
  • java代码输出二维数组

    千次阅读 2021-04-12 17:55:36
    下午做作业,碰到一个java二维数组的题,结果我就犯2了,愣是没看清数组的个数,导致敲了一遍代码才看出来。public class Xiti8 {public static void main(String[] args) {double a[][] = { { 1, 2, 3 }, { 4, 5, 6...
  • [导读]二维数组数组的数组---二维数组的每一个元素是一个一维数组定义格式数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][每个一维数组的长度];int[][] arr = new int[3][5];二维数组...
  • 一维数组、二维数组、多维数组 数组是相同数据类型的多个元素的容器。 这些元素按线性顺序排列。所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素; 除最后一个元素外,每一个元素都有唯一的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,975
精华内容 12,790
关键字:

java二维数组下标获取

java 订阅