黑马程序员技术交流社区

标题: 数组怎么按要求组合! [打印本页]

作者: harborbest    时间: 2013-4-28 08:34
标题: 数组怎么按要求组合!
本帖最后由 harborbest 于 2013-4-30 10:52 编辑

List<String> list1 = new ArrayList<String>();
  String[] str = new String[] { "a,b", "b,c", "c,d", "b,e", "e,f","h,g" };
  for (String s : str) {
list1.add(s);
   }
编写函数,实现将list1 中的数据输出为如下:
a,b,c,d
a,b,e,f
h,g
作者: 郑雪    时间: 2013-4-28 09:50
public class ArrayDemo {
        public static void main(String[] args) {       
                List<String> list1 = new ArrayList<String>();
                String[] str = new String[] { "a,b", "b,c", "c,d", "b,e", "e,f","h,g" };
                for (String s : str) {
                        list1.add(s);
                }
                System.out.println(list1.get(0)+","+list1.get(2));
                System.out.println(list1.get(0)+","+list1.get(4));
                System.out.println(list1.get(5));
        }       
}
这样打印的结果倒是与你要求一样。

作者: 袁梦希    时间: 2013-4-28 09:58
郑雪 发表于 2013-4-28 09:50
public class ArrayDemo {
        public static void main(String[] args) {       
                List list1 = new ArrayList();  ...

答得不错,这也算啊:lol
作者: harborbest    时间: 2013-4-28 10:00
郑雪 发表于 2013-4-28 09:50
public class ArrayDemo {
        public static void main(String[] args) {       
                List list1 = new ArrayList();  ...

这。。。。无语,你自己认为可以这样做吗?要的不是结果,要的是过程,我要是用System.out.prinln什么都能输出!:L
作者: cowthan    时间: 2013-4-28 16:09
先表达一下对这个问题的不理解,再表达一下我的理解:
  1. public static void printPartList(List<String> src, int[] ids){
  2.     //src是你要输出的List
  3.     //ids是你要输出的所有下标
  4.     for(int i: ids){
  5.         System.out.print(src.get(i));
  6.     }
  7.     System.out.println();
  8. }
复制代码

作者: harborbest    时间: 2013-4-29 09:05
cowthan 发表于 2013-4-28 16:09
先表达一下对这个问题的不理解,再表达一下我的理解:
  1. public class ArrayTest {
  2.         public static void main(String[] args){
  3.                 String[] str = new String[] { "a,b", "b,c", "c,d", "b,e", "e,f","h,g" };
  4.                 //str的copy,不做改变
  5.                 String[] strCopy = str;
  6.                 //存放最终的list
  7.                 List<String> strList = new ArrayList<String> ();
  8.                 /**
  9.                  * a,b可能被其他的公用拼接字符串,那么从前往后拼接
  10.                  */
  11.                
  12.                 for(int i=0;i<str.length;i++){
  13.                         String[] strArr = str[i].split(",");
  14.                         //str第i个字符是否和其他字符拼接,若拼接则不往strList中添加
  15.                         boolean flag = false;
  16.                         for(int ii=0;ii<strCopy.length;ii++){
  17.                                 String[] strArrCopy = strCopy[ii].split(",");
  18.                                
  19.                                 //如果str[i]的开始字符和strcopy[ii]的结束字符相同,拼接str的第ii个元素(a,b,b,c  替换b,b为b)
  20.                                 if(strArr[strArr.length-1].equals(strArrCopy[0])){
  21.                                         str[ii] = (str[i]+","+str[ii]).replace(strArrCopy[0]+","+strArrCopy[0], strArrCopy[0]);
  22.                                         flag = true;
  23.                                 }
  24.                         }
  25.                         if(!flag){
  26.                                 strList.add(str[i]);
  27.                         }
  28.                 }
  29.                
  30.                 for(String s:str){
  31.                         System.out.println(s);
  32.                 }
  33.                 System.out.println("****************");
  34.                 for(String s:strList){
  35.                         System.out.println(s);
  36.                 }
  37.         }
  38. }
复制代码
不知看完后能否理解呢!
作者: 刘胜寒    时间: 2013-4-29 09:27
袁梦希 发表于 2013-4-28 09:58
答得不错,这也算啊

确实这也算...
飘过
作者: 黄玉昆    时间: 2013-4-29 23:52
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: 花开花落总相似    时间: 2013-4-30 10:51
harborbest 发表于 2013-4-28 10:00
这。。。。无语,你自己认为可以这样做吗?要的不是结果,要的是过程,我要是用System.out.prinln什么都 ...


  嘿嘿 看到你这么说 我就想起来 刚开始学java时候 让a,b值互换,开始觉得老师说的好麻烦,我也用了System.out.println("a="+b+"b="+a);  ......现在看看觉得好无语啊
作者: 符立波    时间: 2013-4-30 10:57
{:soso_e113:}




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