- class Demo
- {
- public static void main(String[] args)
- {
- char[][] c = {{' ','1','2',' ',},{'1',' ','2',},{' ','1',' ','2',' ','3'}};
- StringBuffer str = trim(c);
- String s = str.toString();
- System.out.println(s);
- }
- public static StringBuffer trim(char[] c)
- {
- StringBuffer sb = new StringBuffer();
- for (int x = 0; x < c.length; x++)
- {
- if (c[x] != ' ')
- {
- sb.append(c[x]);
- }
- }
- return sb;
- }
- public static StringBuffer trim(char[][] c)
- {
- StringBuffer[] sb = new StringBuffer[c.length];
- for (int x = 0; x < c.length; x++)
- {
- sb[x] = trim(c[x]);//转为一维数组处理;
- }
- StringBuffer s = new StringBuffer();
- for (int x = 0; x < sb.length; x++)
- {
- s.append(sb[x]);
- if (x != sb.length-1)
- {
- s.append(',');//加个分割符;
- }
- }
- return s;
- }
- }
复制代码 这段代码主要是想实现去除多维字符数组中的空格,以字符串输出。
问题:
1、如何能确定一个未知数组的维度?
2、在一个方法的形参中我想处理多种参数,比如我想处理一维数组,又想处理二维数组,除了把形参定义为Object以外,还能不能定义成别的类型?我的意思就是说数组有没有什么父类或超类什么的。
3、这段代码用这种方式如果要处理三维数组或更多维数的数组还需要大量的重载trim函数,这个能不能用递归实现,如果能的话说说实现思想,如果有空的话也可以贴下代码{:soso_e113:}。
|