在评判系统上提交Java代码出现compile error

互联网扫地僧 2019-05-11 11:56:57
import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Student[] s = new Student[3]; Scanner scn=new Scanner(System.in); String d=scn.next(); s[0] = new Student(new Name("Derek", "S", "Dexony"),d); s[1] = new Student(new Name("Stacy", "M", "Waters"),d); s[2] = new Student(new Name("Adamo", "U", "Leetmz"),d); printList(s);// System.out.println();// System.out.println("Max is " + max(s)); } public static void printList(Student[] s) { for(int i=0;i<s.length;i++) System.out.println(s[i]); } public static Object max(Student[] s) { Arrays.parallelSort(s); return s[s.length-1]; } }class Name { private String firstname; private String mi; private String lastname; public Name() { super(); // TODO 自动生成的构造函数存根 } public Name(String firstname, String mi, String lastname) { super(); this.firstname = firstname; this.mi = mi; this.lastname = lastname; } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getMi() { return mi; } public void setMi(String mi) { this.mi = mi; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public String getFullName() { return this.firstname+" "+this.mi+" "+this.lastname; } }class Person implements Comparable{ private Name name; public Person() { super(); // TODO 自动生成的构造函数存根 } public Person(Name name) { super(); this.name = name; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } public int compareTo(Object obj) { if(obj instanceof Person) { Person p=(Person) obj; if(this.name.getLastname().equals(p.name.getLastname())) if(this.name.getFirstname().equals(p.name.getFirstname())) return this.name.getMi().compareTo(p.name.getMi()); else return this.name.getFirstname().compareTo(p.name.getFirstname()); else return this.name.getLastname().compareTo(p.name.getLastname()); } return 0; } @Override public String toString() { return "Person [name=" + name + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]"; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } }class Student extends Person { private String major; public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public Student() { super(); // TODO 自动生成的构造函数存根 } public Student(Name name ,String major) { super(name); this.major=major; // TODO 自动生成的构造函数存根 } public Student(String major) { super(); this.major = major; } @Override public String toString() { return this.getName().getFullName(); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((major == null) ? 0 : major.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (major == null) { if (other.major != null) return false; } else if (!major.equals(other.major)) return false; return true; } public int compareTo(Object obj) { if(obj instanceof Student) { Student stu=(Student) obj; if(this.major.equals(stu.major)) if(this.getName().getLastname().equals(stu.getName().getLastname())) if(this.getName().getFirstname().equals(stu.getName().getFirstname())) return this.getName().getMi().compareTo(stu.getName().getMi()); else return this.getName().getFirstname().compareTo(stu.getName().getFirstname()); else return this.getName().getLastname().compareTo(stu.getName().getLastname()); return this.major.compareTo(stu.major); } return 0; }}代码有点复杂,可以直接看图片。
...全文
194 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
互联网扫地僧 2019-05-12
  • 打赏
  • 举报
回复
引用 楼主 qq_43516594的回复:
import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Student[] s = new Student[3]; Scanner scn=new Scanner(System.in); String d=scn.next(); s[0] = new Student(new Name("Derek", "S", "Dexony"),d); s[1] = new Student(new Name("Stacy", "M", "Waters"),d); s[2] = new Student(new Name("Adamo", "U", "Leetmz"),d); printList(s);// System.out.println();// System.out.println("Max is " + max(s)); } public static void printList(Student[] s) { for(int i=0;i<s.length;i++) System.out.println(s[i]); } public static Object max(Student[] s) { Arrays.parallelSort(s); return s[s.length-1]; } }class Name { private String firstname; private String mi; private String lastname; public Name() { super(); // TODO 自动生成的构造函数存根 } public Name(String firstname, String mi, String lastname) { super(); this.firstname = firstname; this.mi = mi; this.lastname = lastname; } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getMi() { return mi; } public void setMi(String mi) { this.mi = mi; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public String getFullName() { return this.firstname+" "+this.mi+" "+this.lastname; } }class Person implements Comparable{ private Name name; public Person() { super(); // TODO 自动生成的构造函数存根 } public Person(Name name) { super(); this.name = name; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } public int compareTo(Object obj) { if(obj instanceof Person) { Person p=(Person) obj; if(this.name.getLastname().equals(p.name.getLastname())) if(this.name.getFirstname().equals(p.name.getFirstname())) return this.name.getMi().compareTo(p.name.getMi()); else return this.name.getFirstname().compareTo(p.name.getFirstname()); else return this.name.getLastname().compareTo(p.name.getLastname()); } return 0; } @Override public String toString() { return "Person [name=" + name + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]"; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } }class Student extends Person { private String major; public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public Student() { super(); // TODO 自动生成的构造函数存根 } public Student(Name name ,String major) { super(name); this.major=major; // TODO 自动生成的构造函数存根 } public Student(String major) { super(); this.major = major; } @Override public String toString() { return this.getName().getFullName(); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((major == null) ? 0 : major.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (major == null) { if (other.major != null) return false; } else if (!major.equals(other.major)) return false; return true; } public int compareTo(Object obj) { if(obj instanceof Student) { Student stu=(Student) obj; if(this.major.equals(stu.major)) if(this.getName().getLastname().equals(stu.getName().getLastname())) if(this.getName().getFirstname().equals(stu.getName().getFirstname())) return this.getName().getMi().compareTo(stu.getName().getMi()); else return this.getName().getFirstname().compareTo(stu.getName().getFirstname()); else return this.getName().getLastname().compareTo(stu.getName().getLastname()); return this.major.compareTo(stu.major); } return 0; }}代码有点复杂,可以直接看图片。
问一下各位这是什么原因?
BNUEP Offline Judge 北京师范大学珠海分校离线评测系统是在具备题目测试数据的情况下,能无联网自动评测ACM/ICPC模式的源代码评测系统(即本地测试工具、评测机)。它主要有以下功能(所有的功能都无需联网,在本机即可实现): *评测核心功能: 基本具备Online Judge的判题核心功能,如编译代码、内存限定,时间限定,获取代码长度等; *支持多种语言: 1.0 Beta2版本支持C/C++、Pascal、C#、JAVA; *出题模式 可以在有标准输入数据和标准程序的情况下,由系统产生标准输出数据,并可批量保存,同时自动命名标准输出数据的后缀; *文本高亮对比 在判题后,可以直接在本系统中将自己的程序输出和标准输出进行高亮的文本差异对比,操作类似于一些文本对比软件,在一定程度上可以较方便地发现WA代码的出错细节; *支持不限时执行代码 这个功能可以在一定程度上检测TLE代码的算法是否正确的,当然,不能是跑一天都没跑出来的程序; *打包与加密测试数据 使用加密后的数据可以正常判题,但不显示标准输出。这个功能是为了弥补放出去给别人评测的测试数据是明文的缺陷。加密之后评测方就看不到测试数据。这样就既可以实现离线评测,又可以实现Online Judge上的对测试数据屏蔽; ACM-ICPC简介: ACM国际大学生程序设计竞赛(简称ACM-ICPC)是由国际计算机界具有悠久历史的权威性组织ACM学会(Association for Computing Machinery)主办,是世界上公认的规模最大、水平最高、参与人数最多的大学生程序设计竞赛,其宗旨是使大学生能通过计算机充分展示自己分析问题和解决问题的能力。 ACM-ICPC的每一道题,都具备题目、需求描述、输入格式描述、输出格式描述、样例输入和样例输出共六大信息,有些题目还有一定的提示。此外,裁判还额外存储了关于该题的一组或多组对选手屏蔽的标准输入和标准输出数据,这些测试数据已经经过验证符合题意要求。当用户提交一道题目的源码之后,裁判会将该源码放入评测系统中编译运行,并使用标准输入作为用户程序的输入,然后获取用户程序的输出,接着,将用户程序输出和标准输出比较,最后返回给用户一个评判结果。评判结果包括:Accepted(测试通过)、Compile Error(编译失败)、Memory Limit Exceed(内存超出限制)、Presentation Error(格式错误)、Runtime Error(运行时错误,可能是数组越界,改写只读的内存,除零,栈或堆溢出等错误)、Time Limit Exceed(时间超出限制)、Wrong Answer(答案错误)等。

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧