二维数组如何去掉空元素

问题描述

我的二维数组是:onworkidlist(0,0)="1"onworkidlist(0,1)=""onworkidlist(1,0)="加班上班卡"onworkidlist(1,1)=""如何把空元素去掉,得到结果为:onworkidlist(0,0)="1"onworkidlist(1,0)="加班上班卡"谢谢指教!

解决方案

解决方案二:
有个fulltrim函数试下可以不
解决方案三:
网上去找段代码,调用一下即可。
解决方案四:
你参考这个吧。我原来参考的代码publicclassDeleteZero{privatestaticint[][]intArray={{0,1,1,0,2,2,0,0,0,0},{0,3,3,4,0,4,5,5,0,0},{0,-1,-1,0,-2,-2,-3,-3,-4,-40,},{0,2,0,2,0,0,0,0,0,0},{0},{1}};privatestaticint[]temp,target;//temp是过渡数组,target存储非零元素privatestaticint[][]result;privatestaticintcount=0;publicstaticint[][]deletZero(int[][]intArray){intfirstDimesion=intArray.length;//定义二维数组的第一维的长度for(inti=0;i<intArray.length;i++){if(intArray[i].length==1&&intArray[i][0]==0)firstDimesion--;}result=newint[firstDimesion][];firstDimesion=0;for(inti=0;i<intArray.length;i++){if(intArray[i].length==1&&intArray[i][0]==0)continue;temp=intArray[i];target=temp;for(intj=0;j<temp.length;j++){if(temp[j]!=0){target[count]=temp[j];count++;}}result[firstDimesion]=newint[count];for(intk=0;k<count;k++)result[firstDimesion][k]=target[k];count=0;//count置0firstDimesion++;//长度增一,初始化下一个数组}returnresult;}publicstaticvoidprintArray(int[][]intArray){for(inti=0;i<intArray.length;i++){for(intj=0;j<intArray[i].length;j++)System.out.print(intArray[i][j]+"");System.out.println();}}publicstaticvoidmain(Stringargs[]){deletZero(intArray);printArray(result);}}

解决方案五:
引用1楼CrazyNotes的回复:

有个fulltrim函数试下可以不

试过了,fulltrim对于一维数组有效,对于二维数组无效。
解决方案六:
引用3楼jason_dct的回复:

你参考这个吧。我原来参考的代码Javacode?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465publicclassDeleteZero{p……

还是没有整出来,请帮忙解决一下,谢谢!

时间: 2024-08-03 17:28:06

二维数组如何去掉空元素的相关文章

在javascript中,如果删除二维数组中重复的元素_javascript技巧

了很久,始终没想出解决方案,大伙给点思路吧.  [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

Java基础-06.总结二维数组,面向对象

1:二维数组(理解) (1)元素是一维数组的数组.(2)格式:A:数据类型[][] 数组名 = new 数据类型[m][n];B:数据类型[][] 数组名 = new 数据类型[m][];C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};D:数据类型[][] 数组名 = {{...},{...},{...}}; /*二维数组:就是元素为一维数组的一个数组. 格式1:数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有

Java数组排序基础算法,二维数组,排序时间计算,随机数产生

import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System.in); // System.out.println("请输入一个数字"); // int num = s.nextInt(); //打印数组 int []a = {1

C语言 指针与二维数组详解_C 语言

二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有"缝隙".以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩阵: 0   1   2   3 4   5   6   7 8   9  10  11 但在内存中,a 的分布是一维线性的,整个数组占用一块连续的内存: C语言中的二维数组是按行排列的,也就是先存放 a[

《C语言及程序设计》程序填空——二维数组

返回:贺老师课程教学链接 1.下面的程序,要输出行.列号之和为3的数组元素,请将程序补充完整. #include <stdio.h> int main( ) { char ss[4][3]= {'A','a','f','c','B','d','e','b', 'C','g','f','D'}; int x,y,z; for (x=0; ______(1)______; x++) for (y=0; ______(2)______ ; y++) { z=x+y; if (______(3)___

C++第9周项目5 - -二维数组类Douary

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8841620 [项目5(选做)-二维数组类Douary]建立一个二维数组类Douary,使该类中有以下数据成员.成员函数及友员函数,完成矩阵的输入.输出.加.减.相等判断等操作. class Douary { public: Douary(int m, int

Java千百问_06数据结构(017)_什么是二维数组

1.二维数组如何定义 Java语言中,多维数组被看作数组的数组.  了解一维数组看这里:java中的数组是什么  定义方式和一维数组类似,如下: type arrayName[ ][ ]: type [ ][ ]arrayName; 2.二维数组如何初始化 二维数组初始化和一维数组一样,分为静态初始化和动态初始化 静态初始化  Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同.初始化方式如下: int intArray[ ][ ]={{1

php中遍历二维数组并以表格的形式输出的方法

一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1 array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2 array(3,'峰某','C公司','天津市','(022

求助一道二维数组交换特定元素位置的算法题,谢谢大家!

问题描述 求助一道二维数组交换特定元素位置的算法题,谢谢大家! 刚试验了一下出了新问题- - 比如,一开始是左边的数组,我想"把2个0去掉,然后0上面的2就掉下来了",形成右边的新数组 然后我用了循环遍历,比如只看第二列,我的做法是"从下往上找,遇到0,就和0上面的数字交换",结果成了下面这个样子了- - 我有个改进想法是"还是从下往上找,遇到0之后判断上面的是不是0,如果是0,再继续向上再找,直到不是0,然后把这个数赋值给一开始那个0的位置",