上面的错误如何解决。代码如下。
package com.chengji.paixun; import java.util.TreeSet; public class StudentTest01 { /** * 用TreeSet集合存储多个学生信息(姓名,语文成绩,数学成绩),并遍历该集合 要求:按照总分从高到低出现 思路: 1:定义学生类 2:创建TreeSet集合对象,通过比较器排序进行排序 3:创建学生对象 4:把学生对象添加到集合 5:遍历集合 */ public static void main(String[] args) { //创建TreeSet集合对象,通过比较器排序进行排序 TreeSet<Student> ts = new TreeSet<Student>(); //创建学生对象 Student s1 = new Student("林青霞", 98, 100); Student s2 = new Student("张曼玉", 95, 95); Student s3 = new Student("王祖贤", 100, 93); Student s4 = new Student("柳岩", 100, 97); Student s5 = new Student("风清扬", 98, 98); Student s6 = new Student("左冷禅", 97, 99); // Student s7 = new Student("左冷禅", 97, 99); Student s7 = new Student("赵云", 97, 99); //把学生对象添加到集合 ts.add(s1); ts.add(s2); ts.add(s3); ts.add(s4); ts.add(s5); ts.add(s6); ts.add(s7); //遍历集合 for (Student s : ts) { System.out.println(s.getName() + "," + s.getChinese() + "," + s.getMath() + "," + s.getSum()); } } }
package com.chengji.paixun; /** * - 用TreeSet集合存储多个学生信息(姓名,语文成绩,数学成绩),并遍历该集合 - 要求:按照总分从高到低出现 * @author MZFAITHDREAM * */ public class Student { private String name; private int chinese; private int math; public Student() { } public Student(String name, int chinese, int math) { this.name = name; this.chinese = chinese; this.math = math; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getChinese() { return chinese; } public void setChinese(int chinese) { this.chinese = chinese; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public int getSum() { return this.chinese + this.math; } }
@8 Hashset。
package com.set; /** * - Hash Set 集合保证元素唯一性的原理 1.根据对象的哈希值计算存储位置 如果当前位置没有元素则直接存入 如果当前位置有元素存在,则进入第二步 2.当前元素的元素和已经存在的元素比较哈希值 如果哈希值不同,则将当前元素进行存储 如果哈希值相同,则进入第三步 3.通过equals()方法比较两个元素的内容 如果内容不相同,则将当前元素进行存储 如果内容相同,则不存储当前元素 - * @author MZFAITHDREAM * */ public class HashsetText1 { /** * 哈希值根据地址,字符串,数字类型。 * @param args */ public static void main(String[] args) { //创建学生对象 Student stu =new Student("xangxang",34); System.out.println(stu); System.out.println(stu.hashCode()); System.out.println("==============================="); Student stu1 =new Student("tyuop",34); System.out.println(stu1); System.out.println(stu1.hashCode()); System.out.println("================================"); //查看哈希值二个对象 Student stu2 =new Student("maomao",37); System.out.println(stu2); System.out.println(stu2.hashCode()); //查看哈希值三个对象 Student stu3 =new Student("nopains nogains",34); System.out.println(stu3); System.out.println(stu3.hashCode()); //查看哈希值四个对象 Student stu4 =new Student("nopains nogains",34); System.out.println(stu4); System.out.println(stu4.hashCode()); System.out.println("================================"); //查看哈希值五个对象 Student stu5 =new Student("nopains nogains",34); System.out.println(stu5); System.out.println(stu5.hashCode()); //查看哈希值六个对象 Student stu6 =new Student("nopains nogains",34); System.out.println(stu6); System.out.println(stu6.hashCode()); System.out.println(stu6.hashCode()); } }
package com.set; /** * - Hash Set 集合保证元素唯一性的原理 1.根据对象的哈希值计算存储位置 如果当前位置没有元素则直接存入 如果当前位置有元素存在,则进入第二步 2.当前元素的元素和已经存在的元素比较哈希值 如果哈希值不同,则将当前元素进行存储 如果哈希值相同,则进入第三步 3.通过equals()方法比较两个元素的内容 如果内容不相同,则将当前元素进行存储 如果内容相同,则不存储当前元素 - * @author MZFAITHDREAM * */ public class HashsetText2 { /** * 哈希值根据地址,字符串,数字类型。 * @param args */ public static void main(String[] args) { //创建学生对象 Student stu =new Student("小小程序员",34); System.out.println(stu); System.out.println(stu.hashCode()); System.out.println("==============================="); Student stu1 =new Student("com on",34); System.out.println(stu1); System.out.println(stu1.hashCode()); System.out.println("================================"); //查看哈希值二个对象 Student stu2 =new Student("毛毛非",37); System.out.println(stu2); System.out.println(stu2.hashCode()); //查看哈希值三个对象 Student stu3 =new Student("星星胡i11nogains",34); System.out.println(stu3); System.out.println(stu3.hashCode()); //查看哈希值四个对象 Student stu4 =new Student("nopains nogains",34); System.out.println(stu4); System.out.println(stu4.hashCode()); System.out.println("================================"); //查看哈希值五个对象 Student stu5 =new Student("nopains nogains",34); System.out.println(stu5); System.out.println(stu5.hashCode()); //查看哈希值六个对象 Student stu6 =new Student("nopains nogains",34); System.out.println(stu6); System.out.println(stu6.hashCode()); System.out.println(stu6.hashCode()); } }
package com.set; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Set2 { public static void main(String[] args) { Set<String> s=new HashSet<String>(); s.add("今天天青"); s.add("行万里路"); s.add("加强学习java"); s.add("自强不息"); s.add("好好学习"); for (int i = 0; i <s.size(); i++) { System.out.println(s); } System.out.println("------------------------"); for (String string : s) { System.out.println(s); } System.out.println("-------------------"); for (Iterator iterator = s.iterator(); iterator.hasNext();) { String string = (String) iterator.next(); System.out.println(s); } System.out.println("-------------"); for (Object Object: s) { System.out.println(s); } } }
@9Map
package Map; import java.util.*; public class HashMapDemo4 { private static final String HashMap = null; public static void main(String[] args) { HashMap<String, String > hmap =new HashMap<String, String>(); hmap.put("name", "机熊"); hmap.put("sex", "nan"); hmap.put("id", "2345689"); hmap.put("height", "145"); hmap.put("age", "1003"); //第一种方法keyset for(String key:hmap.keySet()) { System.out.println(key+"-----"+hmap.get(key)); } System.out.println("====================================="); //第二种方法 for(Map.Entry<String,String> entry:hmap.entrySet()) { System.out.println(entry); } System.out.println("========/*/**/"); for(String key :hmap.keySet()) { System.out.println("key===="+key); } System.out.println("///"); for(String value :hmap.values()) { System.out.println("value===="+value); } System.out.println("333333333333333"); //keyset Iterator<String> iterator=hmap.keySet().iterator(); while(iterator.hasNext()) { String key=iterator.next(); System.out.println(key+" : "+hmap.get(key)); } //entryset Iterator<Map.Entry<String ,String>> iterator1=hmap.entrySet().iterator(); while(iterator.hasNext()) { Map.Entry<String, String>entry= iterator1.next(); System.out.println(entry.getKey()); } } }
@10项目实战
package com.web1; import java.util.ArrayList; import java.util.Scanner; public class Reading { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList <Student> array=new ArrayList<Student>(); while(true){ System.out.println("--------欢迎来到学生图书管理系统 按以下执行 "); System.out.println("1 添 加 学 生喜爱的图书 "); System.out.println("2删 除 学 生不喜欢的数 "); System.out.println("3 修 改 学 生 图书编号"); System.out.println("4 查看所有学生信息"); System.out.println("5 退 出 "); System.out.println("请输入你的要选择的编号:"); Scanner sc=new Scanner(System.in); String line=sc.nextLine(); switch(line){ case "1": addStudent(array);break; case "2": deleteStudent(array);break; case"3": updateStudent(array);break; case"4": findAllStudent(array);break; //JVM退出 } } } public static void addStudent(ArrayList <Student> array ){ String sid; while(true){ System.out.println("请输入学生学号:"); Scanner sc=new Scanner(System.in); sid =sc.nextLine(); boolean flag=isUsed(array,sid); if(flag){ System.out.println("你输入的学号已经被占用,请重新输入"); }else{ break; } } Scanner sc=new Scanner(System.in); System.out.println("请输入学生姓名:"); String name = sc.nextLine(); System.out.println("请输入学生年龄:"); String age = sc.nextLine(); System.out.println("请输入学生居住地:"); String address = sc.nextLine(); Student s =new Student(); s.setAge(age); s.setSid(sid); s.setName(name); s.setAddress(address); array.add(s); System.out.println("添加学生成功"); } public static boolean isUsed(ArrayList<Student> array, String sid) { //如果与集合中的某一个学生学号相同,返回true;如果都不相同,返回false boolean flag = false; for(int i=0; i<array.size(); i++) { Student s = array.get(i); if(s.getSid().equals(sid)) { flag = true; break; } } return flag; } //定义一个方法,用于查看学生信息 public static void findAllStudent(ArrayList<Student> array) { //判断集合中是否有数据,如果没有显示提示信息 if (array.size() == 0) { System.out.println("无信息,请先添加信息再查询"); //为了让程序不再往下执行,我们在这里写上return; return; } //显示表头信息 //\t其实是一个tab键的位置 System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地"); //将集合中数据取出按照对应格式显示学生信息,年龄显示补充“岁” for (int i = 0; i < array.size(); i++) { Student s = array.get(i); System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "岁\t\t" + s.getAddress()); } } //定义一个方法,用于删除学生信息 public static void deleteStudent(ArrayList<Student> array) { //键盘录入要删除的学生学号,显示提示信息 Scanner sc = new Scanner(System.in); System.out.println("请输入你要删除的学生的学号:"); String sid = sc.nextLine(); //在删除/修改学生操作前,对学号是否存在进行判断 //如果不存在,显示提示信息 //如果存在,执行删除/修改操作 int index = -1; for (int i = 0; i < array.size(); i++) { Student s = array.get(i); if (s.getSid().equals(sid)) { index = i; break; } } if (index == -1) { System.out.println("该信息不存在,请重新输入"); } else { array.remove(index); //给出删除成功提示System.out.println("删除学生成功"); } } //定义一个方法,用于修改学生信息 public static void updateStudent(ArrayList<Student> array) { //键盘录入要修改的学生学号,显示提示信息 Scanner sc = new Scanner(System.in); System.out.println("请输入你要修改的学生的学号:"); String sid = sc.nextLine(); //键盘录入要修改的学生信息 System.out.println("请输入学生新姓名:"); String name = sc.nextLine(); System.out.println("请输入学生新年龄:"); String age = sc.nextLine(); System.out.println("请输入学生新居住地:"); String address = sc.nextLine(); //创建学生对象 Student s = new Student(); s.setSid(sid); s.setName(name); s.setAge(age); s.setAddress(address); //遍历集合修改对应的学生信息 for (int i = 0; i < array.size(); i++) { Student student = array.get(i); if (student.getSid().equals(sid)) { array.set(i, s); } } //给出修改成功提示System.out.println("修改学生成功"); } }
package com.web1; public class Student { public String sid; public String name; public String age; public String address ; public void Student(){} public Student(String sid, String name, String age, String address) { super(); this.sid = sid; this.name = name; this.age = age; this.address = address; } public Student() { super(); // TODO Auto-generated constructor stub } public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }