黑马程序员技术交流社区

标题: “adc”这个代码我好不容易才懂了,会了为什么我写出来..... [打印本页]

作者: 李海明    时间: 2015-5-2 18:17
标题: “adc”这个代码我好不容易才懂了,会了为什么我写出来.....
  1. package com.itheima;
  2. import java.awt.List;
  3. import java.util.ArrayList;
  4. class Test8
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 print("abc");
  9.         }
  10.         
  11.         //接收一个字符串返回全字符组合情况
  12.         public static void print(String str){
  13.                 //将字符串转化为字符数组
  14.                 char[] ch = str.toCharArray();
  15.                 //建立一个存有{"a","b","c"}的集合list1
  16.                 ArrayList<String> list1 = new ArrayList<String>();
  17.                 for(int i = 0; i < ch.length; i++){
  18.                         list1.add(ch[i]+"");
  19.                 }
  20.                
  21.                 for(int i = 0; i < ch.length; i++){
  22.                         
  23.                         //取得每一行要输出的list集合
  24.                         list1 = getList(list1, i+1,ch);
  25.                         
  26.                         //遍历输出集合
  27.                         for(String s:list1){
  28.                                 System.out.print("\"" + s + "\" ");
  29.                         }
  30.                         System.out.println("");
  31.                 }
  32.         }
  33.         
  34.         //取得每一行要输出的list集合
  35.         public static ArrayList<String> getList(ArrayList<String> list,int len,char[] ch)
  36.         {
  37.                 //newList 用来装下一行要遍历的元素,list则代表上一行的元素集合
  38.                 ArrayList<String> newList  = new ArrayList<String>();
  39.         
  40.                 //该循环用来取得上一行的元素
  41.                 for(String s:list){
  42.                         String str = s;        
  43.                                 
  44.                                 for(int j = str.length();j < len ;j++){
  45.                                         //遍历字符串中每一个元素
  46.                                         for(int i = 0; i < ch.length; i++){
  47.                                                 //字符不重复则将Str+ch[i]添加进集合,
  48.                                                 if(str.indexOf(ch[i]) == -1){
  49.                                                         newList.add(str + ch[i]);
  50.                                                 }
  51.                                         }
  52.                                 }
  53.                                 
  54.                 }
  55.                
  56.                 return newList.size() == 0 ? list:newList;
  57.         }
复制代码
出现的运行错误如下:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        at com.itheima.Test8.main(Test8.java:19)这是怎么了?求大神指点一下,小弟感激不尽!


作者: 小甲鱼    时间: 2015-5-2 18:31
最后少了个  "}"
作者: 李海明    时间: 2015-5-2 18:33
小甲鱼 发表于 2015-5-2 18:31
最后少了个  "}"

谢谢,看了好久都是纠结是不是path的问题,非常感谢。总之谢谢你!
作者: 小甲鱼    时间: 2015-5-2 18:37
李海明 发表于 2015-5-2 18:33
谢谢,看了好久都是纠结是不是path的问题,非常感谢。总之谢谢你!

不用,大家都是互相学习,:lol
作者: 李海明    时间: 2015-5-2 18:38
小甲鱼 发表于 2015-5-2 18:37
不用,大家都是互相学习,

:P,恩。太谦虚了!




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