黑马程序员技术交流社区

标题: 在编写ArrayList程序时遇到了 学长学姐帮忙解决下。谢谢了 [打印本页]

作者: 微笑=.一瞬间    时间: 2014-4-8 21:04
标题: 在编写ArrayList程序时遇到了 学长学姐帮忙解决下。谢谢了
程序需求:打印出ArrayList中不同的对象
程序代码如下:(为什么代码编译能通过,运行时会提示“找不到或无法加载主类”)

import java.util.*;

class TestArratLi
{
        public static void main(String[] args)
        {
                ArrayList al=new ArrayList();
                al.add("java1");
                al.add("java2");
                al.add("java3");
                al.add("java4");
                al.add("java1");

                Iterator it=al.iterator();
                while(it.hasNext())
                {
                        ArrayList newAl=new ArrayList();
                        if(!newAl.contains(it.next()))
                        {
                                newAl.add(it.next());
                                System.out.println(it.next());
                        }
                        else
                                it.next();
                               
                }
        }
}

作者: 微笑=.一瞬间    时间: 2014-4-8 21:07
classpath没设
作者: lwy0319    时间: 2014-4-9 05:22
本帖最后由 lwy0319 于 2014-4-9 05:27 编辑

每一次执行it.next()都是迭代下一个元素的操作,你迭代的操作太多了。。感觉在这里else没什么意义。。不执行操作也会回到while循环的内容上来
  1. import java.util.*;

  2. class TestArratLi
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 ArrayList al=new ArrayList();
  7.                 al.add("java1");
  8.                 al.add("java2");
  9.                 al.add("java3");
  10.                 al.add("java4");
  11.                 al.add("java1");
  12.                 ArrayList newAl=new ArrayList();
  13.                 Iterator it=al.iterator();
  14.                 while(it.hasNext())
  15.                 {
  16.                         Object temp=it.next();
  17.                         if(!newAl.contains(temp))
  18.                         {
  19.                                 newAl.add(temp);
  20.                                 System.out.println(temp);
  21.                         }      
  22.                 }
  23.         }
  24. }
复制代码




作者: 骑着毛驴去赶    时间: 2014-4-9 08:06
找到该类的class文件删除,重新编译试试
作者: 诺忔。初禾、    时间: 2014-4-9 12:50
用eclipse就不会出现这种现象
作者: 向阳泪无痕    时间: 2014-4-9 13:01
找不到或无法加载主类  首先CLASSPATH 设置了没   不然就是你的源文件路径是否正确,该类是否放在了包下了,如果放在了包下了,在编译时,带上包
作者: 向日葵的曙光    时间: 2014-4-9 13:26
类名要保证与你文件的名字保持一致,试试看是不是这个问题
作者: vincentgood    时间: 2014-4-10 17:01
你的classpath怎么设置的,有可能没有设置对,我之前也出过这样的问题,你把下面这一行英文复制过去看下能不能用,java_home就是你自已设置 的,你可以看下基础视频里第一天的内容就明白了
;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar




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