黑马程序员技术交流社区

标题: 问编译时提示解析时已到达文件结尾? [打印本页]

作者: 淡淡柠檬茶    时间: 2014-6-5 11:31
标题: 问编译时提示解析时已到达文件结尾?
本帖最后由 淡淡柠檬茶 于 2014-6-5 14:45 编辑

//代码如下,编译的时候提示“解析时已到达文件结尾”,这是什么意思来的,我记得在视频中老师提示过,但是我找不到了
//练习 每一个学生都有归属地,学生属性姓名 年龄(学生姓名和年龄相同是同一个人,要保证唯一性)
import java.util.*;
class  Student
{
        public static void main(String[] args)
        {
                Map<String,String> map = new HashMap<String,String>();
                map.put("1","c1");
                map.put("2","c1");
                map.put("3","c1");
                map.put("4","c1");

               
        //(1)将map集合转成        Set集合
                Set<String> keySet = map.keySet();
                Iterator<String> it = keySet.iterator();
                while (it.hasNext())
                {
                        String key = it.next();
                        String value = map.get(key);
                        System.out.println(key+ value);
                }
               
                /*
        //(2)将map集合中的映射关系存入到set集合中
                Set<Map.Entry<String,String>> entrySet = map.entrySet();
                Iterator <Map.Entry<String,String>> it = entrySet.iterator();
                while (it.hasNext())
                {
                        Map.Entry<String,String> me =it.next();
                        String key = me.getKey();
                        String value = me.getValue();
                        System.out.println(key + value);
                }
                */
}
class Person extends comparable
{
        private String name;
        private int age;
        Person(String name,int age)
        {
                this.name = name;
                this.age = age;
        }
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
        public String toString()
        {
                return name + age;
        }
        public int hashcode()
        {
                return name.hashcode()+age*37;
        }
        public boolean equals(Object obj)
        {
                if (obj instanceof Person)
                        return false;
                Student s = (Student)obj;
                return this.name.equals(s.name)&&this.age==s.age;
        }
        public int compareto(Object s1)
        {
                int num = new integer(this.name).compareTo(new integer(s1.name));
                        if (num =0)
                                return this.age.compareTo(s1.age);
                        return num;
        }

}

作者: 轻语。    时间: 2014-6-5 11:52
貌似错误有点多。
Comparable(首字母大写)是接口应该用implements?
compareTo的t要大写。
Integer的i要大写。
if (num==0)  判断应该是==
少了个括号“}”
另外,你定义的Person类实现Comparable,然后方法中又出现了Student类,
return this.name.equals(s.name)&&this.age==s.age; 这句话中s.age什么的不会报错么。。。

作者: 淡淡柠檬茶    时间: 2014-6-5 12:02
伍叶竹 发表于 2014-6-5 11:52
貌似错误有点多。
Comparable(首字母大写)是接口应该用implements?
compareTo的t要大写。

哥 不好意思 我在仔细看看
作者: 淡淡柠檬茶    时间: 2014-6-5 13:48
伍叶竹 发表于 2014-6-5 11:52
貌似错误有点多。
Comparable(首字母大写)是接口应该用implements?
compareTo的t要大写。

谢谢,之前出门了 回头重新整理了一下,发现自己好不仔细,谢谢版主,现在已经可以调试成功了
作者: f78fk    时间: 2014-6-5 13:51
这个错误一般是少写了大括号
作者: 淡淡柠檬茶    时间: 2014-6-5 14:45
f78fk 发表于 2014-6-5 13:51
这个错误一般是少写了大括号

还有大小写。。。当然了有些基本的也记得不牢固,抓紧学习吧
作者: apollo康志宇    时间: 2017-4-24 08:09
f78fk 发表于 2014-6-5 13:51
这个错误一般是少写了大括号

说的太对了




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