JAVA中如何创建一个二维数组,然后给二维数组赋值!

JAVA中如何创建一个二维数组,然后给二维数组赋值!,第1张

1,创建二维数组语句:int[][] array = new int[3][3]

2,直接创建二维数组并赋值语句:int[][] array ={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}}

二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存

第一种,先声明再分配内存的方式

数组声明: 数据类型 数组名[][]

内存分配: 数组名 = new 数据类型[行的个数][列的个数]

举例: 假如我们需要统计一个象棋上放的是黑棋还是白棋。这时,我们可以建立一个坐标,即以象棋盘的两边建立坐标轴。这时,我们可以这样定义这个二维数组:

声明数组: int Chess[][]

内存分配Chess= new int[64][64]

第二种,即声明时即分配内存的方式。

使用格式是: 数据类型 数组名[][] =new 数据类型 [行的个数][列的个数]

使用上个步骤中的例子,我们可以将数组的声明和分配内存写成以下方式:

声明即分配内存:int Chess[][] = new int[64][64]

二维数组的赋值,同一维数组类似。只是在{}中的每个元素又是每个一维数组。如下格式:

数据类型 数据名[][]={

{值1,值2,值3,值4 },//第一行数据

{值5,值6,值7,值8}, //第二行数据

...,

}

二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。

对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组

其赋值格式如下:

String ClassRoom[][]={

{"小王","小李","小张"},

{"小红","小明","小花"},

}

即第一行的人数和第二行的人数相同。

第二种:即列数不相等的数组的赋值格式如下:

String ClassRoom[][]={

{"小王","小李","小张"},

{"小红","小明","小花"},

{"小雨","小风","小平","小雷"},

{"小单"}

}

看上述例子。对于不同的行,其相应的列数是不同的。

复杂了。参考这里iteye.com/blog/dean-deng-1148172

处理一下就行了:

Vector date=userInfoService.showAll()

Vector rowData = new Vector()

rowData.add(date)

DefaultTableModel userInfoModel = new DefaultTableModel(rowData,userTableTitle)

package test

import java.io.BufferedReader

import java.io.File

import java.io.FileReader

import java.io.IOException

public class ReadFile {

public static void main(String[] args) throws IOException {

File file = new File("D://temp.txt")

BufferedReader bis = new BufferedReader(new FileReader(file)) // 字符流

String str = null

StringBuffer sb = new StringBuffer()

int arrLenth = 0 // 一维数组长度

int maxStrLength = 0 // 二位数组长度

while((str = bis.readLine()) != null) {

sb.append(str + "\n")

arrLenth++

if(str.length() > maxStrLength) { 

maxStrLength = str.length()

}

}

String[][] arrs = new String[arrLenth][maxStrLength]

str = sb.toString()

String[] tempArr = str.split("\n")

for (int i = 0 i < tempArr.length i++) {

String tempStr = tempArr[i]

for (int j = 0 j < tempStr.length() j++) {

arrs[i][j] = String.valueOf(tempStr.charAt(j))

}

}

for (int i = 0 i < arrs.length i++) {

String[] inputArr = arrs[i]

for (int j = 0 j < inputArr.length j++) {

if(arrs[i][j] != null) {

System.out.print(arrs[i][j])

}

}

System.out.println("")

}

bis.close()

}

}

补上代码


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7905959.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存