java 怎么把二维数组转换成一维数组
java将二维数组转换成一维数组,主要是通过计算二维数组的所有数组大小,然后使用循环语句赋值,如下代码:
package com.qiu.lin.he;
public class Ceshi {
public static void main(String[] args) {
int[][] m = { { 1, 23 }, { 2, 3, 4, 5 } };
int[] n;
int len = 0;
// 计算一维数组长度
for (int[] element : m) {
len += element.length;
}
// 复制元素
n = new int[len];
int index = 0;
for (int[] element : m) {
for (int element2 : element) {
n[index++] = element2;
}
}
for (int i : n) {
System.out.print(i + “,”);//输出所有的数据
}
}
}
运行结果如下:
如何用Java实现数组{a,b,b,c,c,c}到数组{a,b[0],b[1],c[0],c[1],c[2]}的转换
这道题本没有意义,不过我对于怎们实现也产生了兴趣,给你写下了,经过调试的,希望对你的学习有帮助
/*把数组a[],b[],c[], 看作C[]的元素
那么B存放的就可以是{C[0],C[1][0],C[1][1],C[2][0],C[2][1],C[2][2]}
*/
public class ArrayTest {
public static void main(String[] args) {
char[] A = new char[] { ‘a’, ‘b’, ‘b’, ‘c’, ‘c’, ‘c’ };
char[] B = new char[A.length];
char[][] C;
char temp = A[0]; // 中间变量
//C[num1][num2]
int num1 = 0; // 一维数组长度
//获取一维数组长度
for (int i = 0; i A.length; ++i) {
if (temp != A[i]) {
temp = A[i];
num1++;
}
}
C = new char[num1+1][]; //创建一维数组
temp = A[0];
num1 = 0;
num2 = -1;
//获取二维数组长度,并创建数组
for (int i = 0; i A.length; ++i) {
if (temp == A[i]) {
num2++;
} else {
temp = A[i];
C[num1] = new char[num2+1];
num1 ++;
num2 = 0;
}
}
C[num1] = new char[num2+1]; //创建最后一个漏掉的
int n = 0;
// 循环赋值
for (int j = 0; j C.length; ++j) {
for (int k = 0; k C[j].length; ++k) {
C[j][k] = A[n++];
B[j+k]= C[j][k];
System.out.print(B[j+k] + ” “);
}
}
}
}
java怎样获取一维数组的长度?
public class Demo {
public static void main(String[] args){
String[] array = {“求”,”数”,”组”,”的”,”长”,”度”,”!”};
int length = array.length;
System.out.println(“数组array的长度为:” + length);
}
}
java中数组是基本类型么?怎样获取一维数组的长度
不是。基本类型只有八种:int byte short long float boolean double char
获取以为数组长度:
例如:
String[] str = {’11’,’22’,’33’};
int strlength = str.length;
这个strlength即这个数组的长度。
Java定义一个一维数组有哪几种方法
首先: 一维数组的声明 ; 代码如下
int[] ary1; //Java推荐的数组声明方式
int ary2[]; // 不推荐,但也是正确的,C语言等使用这种方式
其次: 声明的声明和赋值
//参考一
int[] ary1 = {1,2,3};// 声明的时候,同时赋值
//参考二
int[] ary2 = new int[3];//指定数组的长度为3
ary2[0] = 1; //数组下标从0开始, 依次给每个元素赋值
ary2[1] = 2;
ary2[2] = 3;
//参考三
int[] ary3 = new int[] {1,2,3}; //注意, 这里的new int[]方框里不能指定长度
最后: 注意数组的默认值;
简单数据类型,比如boolean类型的数组,默认值就是false, int类型的数组,默认值就是0.
对象类型的数组,比如Boolean类型的数组,默认值是null,Integer类型的数组,默认值还是null
int[] ary1 = new int[1];
System.out.println(ary1[0]); //输出0
Integer[] ary2=new Integer[1];
System.out.println(ary2[0]); //输出null
boolean[] b1=new boolean[1];
System.out.println(b1[0]); //输出false
Boolean[] b2=new Boolean[1];
System.out.println(b2[0]); //输出null
JAVA 如何获取二维数组中一维数组的个数
public static void main(String[] args) {
String str[][] = {{“a”,”b”,”c”},{“d”,”e”},{“f”}};
int num = str.length;
System.out.println(“======数组外部长度” + num);
for (int i = 0; i str.length; i++) {
int num2 = str[i].length;
System.out.println(“======数组内部长度” + num2);
}
}