第一題:
從控制臺輸入十個學生的成績,使用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+" ");}}
}
結果如下
?
?
?
?
?
?