第一题:
从控制台输入十个学生的成绩,使用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;
}
@Override
public 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);
}
@Override
public int hashCode() {
return Objects.hash(id, name, age, sex, birthday);
}
@Override
public 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+" ");
}
}
}
结果如下