package gust;
import java.util.Scanner;
public class Guest {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        Scanner scanner=new Scanner(System.in);
        String name;
        while(true){
            System.out.print("访客名称:");
            name=scanner.nextLine();
            if(name.equals("quit")){
            break;
        }
     list.add(name);       
    }
        System.out.println("访客名单:");
        for(int i=0;i<list.size();i++){
            String guest=(String) list.get(i);
            System.out.println(guest);
        }
}
}
提示的是:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at gust.Guest.main(Guest.java:22)
存在list里的东西没有打出来 我和书上核对好几次了 不知道是什么原因ArrayListString

解决方案 »

  1.   

    String guest=(String) list.get(i); 
    这个语句提示说不对 不知道应该怎么改
      

  2.   

    楼主,代码没问题!引入import java.util.ArrayList;,最后要输一个quit退出while循环,这样才能打印出来!
      

  3.   

    这是我的代码!
    package test;
    import java.util.ArrayList;
    import java.util.Scanner;
    public class Guest {
        public static void main(String[] args) {
            ArrayList list=new ArrayList();
            Scanner scanner=new Scanner(System.in);
            String name;
            while(true){
                System.out.print("访客名称:");
                name=scanner.nextLine();
                if(name.equals("quit")){
                break;
            }
         list.add(name);       
        }
            System.out.println("访客名单:");
            for(int i=0;i<list.size();i++){
                String guest=(String) list.get(i);
                System.out.println(guest);
            }
    }
    }
    下面是执行结果: