第一题:
从控制台输入十个学生的成绩,使用list集合来保存数据, 遍历并打印其中成绩不及格的成绩,打印最高成绩,最低成绩,并计算及格率
代码如下
public class Home1 {public static void main(String[] args) {List<Integer> list = new ArrayList<>();Scanner sc = new Scanner(System.in);for (int i = 1; i <= 10; i++) {System.out.println("请输入" + i + "的成绩:");list.add(sc.nextInt());}System.out.println(list);System.out.println("不及格成绩如下:");for(int score:list){if(score < 60){System.out.print(score+" ");}}System.out.println(" ");int max = 0;for(int i=0;i<list.size();i++){if(list.get(i) > max){max = list.get(i);}}System.out.println("最高成绩:"+max);int min = 100;for(int i=0;i<list.size();i++) {if (list.get(i) < min) {min = list.get(i);}}System.out.println("最低成绩:" + min);int sum=0;for(int score:list){if(score >= 60){sum++;}}System.out.println("及格率="+sum*1.0/10);}
}
结果如下
第二题: 定义一个Student学生类,拥有以下属性 编号id 姓名name 性别sex 年龄age 出生日期birthday【展示格式:2000-01-20】
1.创建多个学生对象,放入到list集合中遍历并打印对象信息
2.在添加多个重复数据,使用set去重,同时还要保持原集合顺序并展示信息
Student类代码如下
public class Student {int id;String name;int age;String sex;Date birthday;public Student() {}public Student(int id, Date birthday, String sex, int age, String name) {this.id = id;this.birthday = birthday;this.sex = sex;this.age = age;this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return id == student.id && age == student.age && Objects.equals(name, student.name) && Objects.equals(sex, student.sex) && Objects.equals(birthday, student.birthday);}@Overridepublic int hashCode() {return Objects.hash(id, name, age, sex, birthday);}@Overridepublic String toString() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return "Student{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", sex='" + sex + '\'' +", birthday=" + sdf.format(birthday)+ '\'' +'}';}
}
测试类代码如下
public class TestStudent {public static void main(String[] args) {Student s1 = new Student();s1.setAge(20);s1.setName("喜羊羊");s1.setId(1);s1.setSex("公");s1.setBirthday(new Date(2000-1900, 5-1, 1));Student s2 = new Student();s2.setAge(21);s2.setName("废羊羊");s2.setId(2);s2.setSex("公");s2.setBirthday(new Date(2070-1900, 6-1, 1));Student s3 = new Student();s3.setAge(29);s3.setName("懒羊羊");s3.setId(3);s3.setSex("公");s3.setBirthday(new Date(2070-1900, 9-1, 1));List<Student> list = new ArrayList<>();list.add(s1);list.add(s2);list.add(s3);System.out.println(list);Student s4 = new Student();s4.setAge(29);s4.setName("懒羊羊");s4.setId(3);s4.setSex("公");s4.setBirthday(new Date(2070-1900, 9-1, 1));list.add(s4);Set<Student> set = new LinkedHashSet<>(list);for (Student s : set) {System.out.println(s);}}
}
结果如下
第三题: 编写一个程序,实现以下功能:
1.创建一个 Set 集合。
2.向集合中添加 5 个不同的元素(如水果名称)。
3.尝试添加一个已存在的元素,观察集合的变化。
4.删除集合中的一个元素。
5.检查某个元素是否存在于集合中。
6.遍历集合
代码如下
public class Home4 {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("苹果🍎");set.add("香蕉🍌");set.add("西瓜🍉");set.add("菠萝🍍");set.add("猕猴桃🥝");System.out.println(set);set.add("香蕉🍌");set.remove("西瓜🍉");System.out.println(set);for(String s:set){System.out.print(s+" ");}}
}
结果如下