java_day12练习题

这篇博客详细介绍了Java_day12的学习实践,包括10个编程练习,覆盖了当天课程的关键知识点,旨在巩固和提升Java编程技能。
摘要由CSDN通过智能技术生成

java_day12练习题

练习1

一、需求说明:自定义一个学生类,给出成员变量name和age,使用HashSet集合存储自定义对
象并遍历,遍历集合的时候,在控制台输出学生对象的成员变量值。要求使用两种方式进行遍历
(迭代器、增强for)。
二、当上述内容解决完毕以后,如果集合中存储的学生对象,年龄和姓名都相同,认为是同一个
人,就不存储在集合中,该如何做呢。
package com.scy12;

import java.util.Objects;

public class Student {
   
    private String name;
    private int age;

    public Student() {
   
    }

    public Student(String name, int age) {
   
        this.name = name;
        this.age = age;
    }

    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;
    }

    @Override
    public boolean equals(Object o) {
   
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age &&
                Objects.equals(name, student.name);
    }

    @Override
    public int hashCode() {
   
        return Objects.hash(name, age);
    }
}
package com.scy12;

import java.util.HashSet;
import java.util.Iterator;

public class HashSetDemo {
   
    public static void main(String[] args) {
   
       //创建集合对象
        HashSet<Student> hs = new HashSet<Student>();
        //创建元素对象
        Student s1 = new Student("林青霞",30);
        Student s2 = new Student("张曼玉",32);
        Student s3 = new Student("王祖贤",33);
        Student s4 = new Student("王祖贤",33);
        Student s5 = new Student("张曼玉",32);

        hs.add(s1);
        hs.add(s2);
        hs.add(s3);
        hs.add(s4);
        hs.add(s5);
        Iterator<Student> it = hs.iterator();
        //迭代器
        while (it.hasNext()){
   
            Student s = it.next();
            System.out.println(s.getName()+s.getAge());

        }
        //增强for循环
        for (Student s :hs){
   
            System.out.println(s.getName()+s.getAge());
        }
    }
}

练习2

三、需求说明:自定义一个学生类,给出成员变量name和age,创建HashMap集合键是String,
代表学号,值是自定义学生对象,代表每一个学生,给集合中添加一些元素,并使用两种方式遍
历HashMap集合。
package com.scy12;

import java.util.Objects;

public class Student {
   
    private String name;
    private int age;

    public Student() {
   
    }

    public Student(String name, int age) {
   
        this.name = name;
        this.age = age;
    }

    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;
    }
}
ackage com.scy12;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashMapTest {
   
    public static void main(String[] args) {
   
        //创建集合对象
        HashMap<String,Student> hm = new HashMap<String, Student>();
        // 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java语法基础练习题包括九九乘法表、数组小代码练习、运算符练习和分支结构练习。以下是这些练习题的示例代码: 九九乘法表: ``` package day05; public class MultiTable { public static void main(String[] args) { for(int num=1;num<=9;num++) { //控制行 for(int i=1;i<=num;i++) { //控制列 System.out.print(i + "*" + num + "=" + i*num + "\t"); } System.out.println(); //换行 } } } ``` 数组小代码练习: ``` int[] array1 = {1, 2, 3, 4, 5};int[] array2 = new int = 6; array2 = 7; array2 = 8; ``` 运算符练习: ``` int a = 5, b = 10, c = 5; boolean b1 = b > a; System.out.println(b1); //true System.out.println(c < b); //true System.out.println(a >= c); //true System.out.println(b <= a); //false System.out.println(b == c); //false System.out.println(a != c); //false System.out.println(a > 10); //false System.out.println(b % 2 == 0); //true System.out.println(c++ > 5); //false------c自增1变为6 System.out.println(c++ > 5); //true-------c自增1变为7 ``` 分支结构练习: ``` int num = 5; int flag = num > 0 ? 1 : -1; System.out.println(flag); //1 int a = 8, b = 5; int max = a > b ? a : b; System.out.println("max=" + max); int number = 10; if(number % 2 == 0) { System.out.println(number + "是偶数"); } else { System.out.println(number + "是奇数"); } double price = 600; if(price >= 500) { double discount = price * 0.8; System.out.println("满500打8折,优惠后价格为" + discount); } else { System.out.println("未满500,无优惠"); } ``` 希望以上代码可以帮助到您进行Java语法基础练习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [java基础练习题(含答案共39道)-语言基础篇](https://blog.csdn.net/u013488276/article/details/124110443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值