黑马程序员技术交流社区

标题: 把两个字符串合成一个二维数组 [打印本页]

作者: 段郎    时间: 2014-3-28 15:19
标题: 把两个字符串合成一个二维数组
已经得到两个字符串:
String str1={"上车地点:林语东","目的地:火车站"}
String str2={"上车地点:黄花机场","目的地:五一大道"}
把这两个字符串转化成这种:
String[][] data={{"上车地点:林语东","目的地:火车站"},{"上车地点:黄花机场","目的地:五一大道"}};
因为我要操作的是二维数组
求大神指点


作者: 苏伯亚    时间: 2014-3-28 15:32
String str1={"上车地点:林语东","目的地:火车站"}
String str2={"上车地点:黄花机场","目的地:五一大道"}
你这两句话就不对,这已经不是一个字符串了
字符串的两种初始化方式没有一种是这样的
方式如String str=new String("XXX");
         String str="XXX";   

你这两句严格说已经就是字符串数组了。
String str1=“上车地点:林语东”;
这才是字符串赋值初始化。
作者: 苏伯亚    时间: 2014-3-28 15:39
或者是String[] str1={"上车地点:林语东","目的地:火车站"};

作者: osully    时间: 2014-3-28 15:47
还没明白 到底要干什么
但是如下,二维数组 实际上存放的就是每个一维数组的引用

String[] str1={"上车地点:林语东","目的地:火车站"};
String[] str2={"上车地点:黄花机场","目的地:五一大道"};
               
String[][] str ={str1,str2};
作者: 苏伯亚    时间: 2014-3-28 15:49
你这是想把两个一维数组合成二维数组
其实就是赋值不而已,我给你写了一段代码 ,可以把这两个一维数组合成二维。如下
class  Demo3
{
        public static void main(String[] args)
        {
                String[] str1={"上车地点:林语东","目的地:火车站"};
               
       String[] str2={"上车地点:黄花机场","目的地:五一大道"};
           String[][] str=new String[2][];
           str[0]=str1;
           str[1]=str2;
                System.out.println(str[0][0]+"......"+str[0][1]);
                System.out.println(str[1][0]+"......"+str[1][1]);
        }
}
一运行,就清楚了。也可以操作二维数组。

作者: 段郎    时间: 2014-3-28 16:17
苏伯亚 发表于 2014-3-28 15:49
你这是想把两个一维数组合成二维数组
其实就是赋值不而已,我给你写了一段代码 ,可以把这两个一维数组合成 ...

str1和str2 不是一维数组,是字符串。
作者: heheka123    时间: 2014-3-28 16:24
osully 发表于 2014-3-28 15:47
还没明白 到底要干什么
但是如下,二维数组 实际上存放的就是每个一维数组的引用

恩,恩, 这个靠谱,顶一个
作者: 橡皮-leo    时间: 2014-3-29 11:31
段郎 发表于 2014-3-28 16:17
str1和str2 不是一维数组,是字符串。

不是一位数组是字符串的话,str1,str2初始化的时候
String str1={"上车地点:林语东","目的地:火车站"}
String str2={"上车地点:黄花机场","目的地:五一大道"}这样是错误的。
  1. public class ArrayDemo {
  2.        
  3.         public static void main(String[] args) {
  4.                 //定义一个字符串二维数组
  5.                 String[][] str = new String[5][5];
  6.                 //已知变量
  7.                 String str1="上车地点:林语东,目的地:火车站";
  8.                 String str2="上车地点:黄花机场,目的地:五一大道";
  9.                 //直接赋值
  10.                 str[0][0] = str1;
  11.                 str[0][1] = str2;
  12.                 for (int i = 0; i < str.length; i++) {
  13.                         for (int j = 0; j < str.length; j++) {
  14.                                 if(str[i][j]!=null)
  15.                                         System.out.println(str[i][j]);
  16.                         }
  17.                        
  18.                 }
  19.         }
  20. }
复制代码

作者: 段郎    时间: 2014-4-5 20:27
橡皮-leo 发表于 2014-3-29 11:31
不是一位数组是字符串的话,str1,str2初始化的时候
String str1={"上车地点:林语东","目的地:火车站"}
...

这个好像可以试试。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2