上午

Object中的equals方法

/main/
public static void main(String[] args) {Stu s1 = new Stu();s1.setId(111);s1.setName("zs");Stu s2 = new Stu();s2.setId(111);s2.setName("zs");System.out.println(s1.equals(s2));   //结果为flase,因为Obje的equals方法默认比较的是地址值}实现方法一、多次使用得多次调用(不推荐)public static boolean bj(Stu s1,Stu s2){boolean b= s1.getId()==s2.getId()&&s1.getName().equals(s2.getName());return b;}方法二、放在Stu对象内重写equals方法@Overridepublic boolean equals(Object obj) {System.out.println("1111");*//* 对象1.equals(对象2)  *//*Stu stu=(Stu)obj;boolean b=id==stu.getId()&&name.equals(stu.getName());return b;代码优化:
public boolean equals(Object obj) {Stu stu = (Stu) obj;return id == stu.getId() && name.equals(stu.getName());}

用Arraylis集合学生管理系统

/*         /StuManage/* 该类专门用于定义学生管理系统相关的功能函数的* */
public class StuManage {//创建扫描器对象,用户扫描用户添加的学生信息,该扫描器最好创建在成员变量的位置,方便每一个函数都能使用,不用重写创建Scanner sc=new Scanner(System.in);//创建一个用户存储多个学生信息的集合容器。该容器需要创建在成员变量中,方便整个工具类的所有的功能函数都能共用同一个容器进行操作//该集合容器的类型必须是学生对象类型的,为了方便把一个学生的所有进行都封装在一个对象中,也方便后续的获取。ArrayList<Student> stus=new ArrayList<>();//定义一个函数,判断id是否存在public int pdid(String id){for (int i = 0; i < stus.size(); i++)if (stus.get(i).getId().equals(id)) {return i;}return -1;}/** 添加功能* */public void add(){//1.扫描用户需要添加学生信息System.out.println("请您输入学生的id:");String id = sc.nextLine();//判断id是否存在if (pdid(id)!=-1){System.out.println("您输入的id存在!添加失败!");return;}System.out.println("请您输入学生的姓名:");String name = sc.nextLine();System.out.println("请您输入学生的电话:");String phone = sc.nextLine();//2.把用户输入的数据封装在一个学生对象中Student stu = new Student();stu.setId(id);stu.setName(name);stu.setPhone(phone);//3.存储在集合stus.add(stu);System.out.println("添加成功!");}/** 查询功能* */public void selectById(){System.out.println("请您输入要查询的id:");String id = sc.nextLine();//根据id查询是否存在int index = pdid(id);if (index!=-1){System.out.println(stus.get(index));}else{System.out.println("查询id不存在");}}/** 删除功能** */public void delById(){System.out.println("请您输入要删除的id:");String id = sc.nextLine();//根据id查询是否存在int index = pdid(id);if (index!=-1){stus.remove(index);System.out.println("删除成功!");}else{System.out.println("查无此人");}}/** 修改功能* */public void update(){System.out.println("请您输入要修改的id:");String id = sc.nextLine();int index = pdid(id);if (index!=-1){//说明要修改的学生存在 indexSystem.out.println("您要修改的信息如下:");System.out.println(stus.get(index));System.out.println("确定是否修改?y修改、n取消");String key = sc.nextLine();if (key.equalsIgnoreCase("y")){System.out.println("1.修改名字2.修改电话");String num = sc.nextLine();switch (num){case "1":System.out.println("请您输入新名字:");String newname = sc.nextLine();stus.get(index).setName(newname);System.out.println("修改成功!");return;case "2":System.out.println("请您输入新电话:");String newphone = sc.nextLine();stus.get(index).setPhone(newphone);System.out.println("修改成功!");return;default:System.out.println("输入有误,修改失败!");return;}}else{System.out.println("您已取消修改!");return;}}else{System.out.println("查无此人");}}/** 查询所有* */public void selectAll(){if (stus.size()==0){System.out.println("暂无数据!");}else{System.out.println("显示如下:");for (Student student : stus) {System.out.println(student);}}}public void caidan(){while (true){System.out.println("1.add 2.selectById 3.delById 4.updateById 5.showAll 6.exit");String key = sc.nextLine();switch (key){case "1":add();break;case "2":selectById();break;case "3":delById();break;case "4":update();break;case "5":selectAll();break;case "6":System.out.println("欢迎下次使用");System.exit(0);default:System.out.println("nonono");break;}}}/Student/
public class Student {private String id;private String name;private String phone;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public boolean equals(Object obj) {Student stu = (Student) obj;return id == stu.getId() && name.equals(stu.getName());}/*该方法是重写的object*/@Overridepublic String toString() {return "学生信息:{" +"id=" + id +", name='" + name + '\'' +'}';}}/main/
public static void main(String[] args) {StuManage stuManage=new StuManage();stuManage.caidan();}

下午

HashSet集合容器

特点——无下标    无序    元素不能重复

public static void main(String[] args) {HashSet<String> set = new HashSet<>();set.add("c");//97set.add("b");//98set.add("a");//99        for (String s:set){System.out.println(set);//for增强循环}set.remove("a");//删除set.size();//长度System.out.println(set);//自动根据哈希值进行排列}

HashMap集合容器

特点

  • 存入的数据必须要以“键值”对的形式进行存储
  • 键值是一一对应的
  • 该容器中键的数据是不能重复的, 如果重复会覆盖键的值, 值是可以重复的
 public static void main(String[] args) {//创建一个HashMap容器HashMap<String,String> map = new HashMap<>();// put 添加数据map.put("111", "zs");map.put("222", "ls");map.put("111", "zzsss");//containKey() 判断是否包含指定参数的键boolean b = map.containsKey("111");System.out.println(b);//KeySey()获取map集合容器中的所有的键,存在一个set集中容器中Set<String> set = map.keySet();for (String str : set){System.out.println(str+"——"+map.get(str));}System.out.println(map);//根据键获取对应的值String str =  map.get("1111");System.out.println(str);}

统计字符串中每一个字符出现的次数

public static void main(String[] args) {String str="qwertyuqwerqw";// 1.定义容器来存储统计的最终结果//统计以上字符串每个字符 出现了多少次 char——Character  int——Integer//方法一HashMap<Character,Integer> map = new HashMap<>();// 2.循环数组for (int i = 0; i <str.length() ; i++) {//3.获取每个下标上的字符char ch =str.charAt(i);//4.把求出的字符存储在map集中容器中//分2种情况//  1、如果当前出现的这个字符是第一次出现则map.put(ch.1)//  2、如果当前出现的这个字符不是第一次 则 获取之前的次数 int sum =map.get(ch); sum++; map.put(ch, sum);if (map.containsKey(ch)){int sum = map.get(ch);sum++;map.put(ch, sum);}else{map.put(ch, 1);}}System.out.println(map);//方法二/* HashMap<Character,Integer> hm = new HashMap<>();// base case// 字符串转为字符数组char[] chars=str.toCharArray();for (char c : chars) {if (hm.containsKey(c)) {//字符已经存在Integer val = hm.get(c);val++;//已经有key,再put则覆盖原来的valuehm.put(c, val);} else {//字符不存在hm.put(c, 1);}}// 返回结果for(Character key:hm.keySet()){Integer value=hm.get(key);System.out.println(key+": "+value);}*/}

java模拟打卡小程序

/DKUtil   /
/*
* *1.录入员工信息2,打卡3.显示所有员工打卡记录4.退出*录入员工信息:*提示输入员工的相关信息:id name
*             打卡:请您输入打卡的员工工号
*             显示所有员工打卡记录---显示每一个员工的所有的打卡时间
*             *员工类:*int idString name;ArrayList<Date> dates;
*
*水容器----arraylist<Emp>*
*/
public class DKUtil {Scanner sc=new Scanner(System.in);HashMap<String,Emp> emps=new HashMap<>();/** 1、录入员工** */public void add(){System.out.println("请您输入员工id:");String id = sc.nextLine();//  int id1 = Integer.parseInt(id);System.out.println("请您输入员工name");String name = sc.nextLine();/*创建员工对象*/Emp emp = new Emp();emp.setName(name);emps.put(id, emp);System.out.println("录入成功!");}/** 2.打卡* */public void dk(){System.out.println("请您输入要打卡的员工id:");String id = sc.nextLine();if (emps.containsKey(id)){//打卡Date date = new Date();Emp emp = emps.get(id);emp.getDates().add(date);System.out.println("打卡成功!");}else{System.out.println("输入的id不存在!");}}/** 显示所有的记录* */public void showAll(){//System.out.println(emps);Set<String> set = emps.keySet();for (String s : set) {System.out.println(s);//根据循环的每一个键,获取对应键的emp对象Emp emp = emps.get(s);System.out.println(emp);}}public void caidan(){while (true){System.out.println("1.录入2.打卡3.显示4.退出");String key = sc.nextLine();switch (key){case "1":add();break;case "2":dk();break;case "3":showAll();break;case "4":System.exit(0);default:System.out.println("重选!");break;}}}/Emp/
public class Emp {//private String id;private String name;private ArrayList<Date> dates=new ArrayList<>();public String getName() {return name;}public void setName(String name) {this.name = name;}public ArrayList<Date> getDates() {return dates;}public void setDates(ArrayList<Date> dates) {this.dates = dates;}@Overridepublic String toString() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time="";for (Date date : dates) {String str = sdf.format(date);time+=str+"\t";}return "员工信息:" +"姓名='" + name + '\'' +", 打卡记录=" + time +'}';}
}/mian/
public static void main(String[] args) {DKUtil dkUtil=new DKUtil();dkUtil.caidan();}

千锋教育实训day06————java相关推荐

  1. 千锋教育实训day01———Java

    目录 上午 Java环境变量搭建 下载JDK8.0 JDK8.0安装 配置环境变量 测试 IDEA的安装 下午 基本数据类型 概念 数据类型转换 运算符 常用运算符分类 算术运算符 赋值运算符 关系运 ...

  2. 千锋教育实训day05————java

    上午 string 敏感词过滤 public static void main(String[] args) {String src = "马化腾,你个小可爱,还我装备.你要是换我装备,我就 ...

  3. 千锋教育实训day04————java

    上午 学生管理系统 /StuManage/学生管理系统函数 public class StuManage {//该类定义所有相关的学生管理系统的函数方法//注册功能User[] users= new ...

  4. 千锋教育实训day07————java

    项目名称:图书管理系统  项目需求: 一级菜单:     1.登录 2.注册 3.退出 登录功能:     用户输入账号密码实现登录.最多输错三次,每次输入错误     提示剩余次数.次数使用完后退出 ...

  5. 千锋教育实训day02————java

    目录 上午 昨天动物园代码优化 while循环 while循环的基本语法 while循环的执行过程 ​ while循环的注意事项 while代码使用演示 break和continue语句的使用 bre ...

  6. 大学python实训总结-千锋Python实训总结 学好基础才能走的更远

    时间飞逝,不知不觉在千锋学习Python已经一个月了,在这不长不短的一个月时间感觉我以往的生活方式和学习方式完全被改变了,希望我能继续保持这样的求学心态和学习态度.下面这个Python实训总结就是我对 ...

  7. 千锋教育威哥学Java教程之Java基础学习路线

    一. Java到底是什么? Java是一门全球范围内使用最广泛的,面向对象的编程语言.Java语言具有功能强大和简单易用两个特征,它作为面向对象编程语言系列的代表,极好地实现了面向对象理论,允许程序员 ...

  8. 千锋教育威哥学Java——爆破专栏丨Spring Security系列教程之解决Spring Security环境中的跨域问题

    前言 上一章节中,一一哥 给各位讲解了同源策略和跨域问题,以及跨域问题的解决方案,在本篇文章中,我会带大家进行代码实现,看看在Spring Security环境中如何解决跨域问题. 需要更多教程,微信 ...

  9. 千锋教育威哥学Java—最新Java学习路线图(完整详细版) 千锋Java教学出品

    需要更多教程,微信扫码即可

最新文章

  1. python利用requests进行爬虫_Python利用Requests库写爬虫(一)
  2. shell脚本之for循环
  3. vlan、三层交换机、网关、DNS、子网掩码、MAC地址
  4. UVALive - 7511 Multiplication Table(暴力+模拟)
  5. 按下enter键禁止页面刷新
  6. android wtf_WTF连接池
  7. 吸气剂/设定者。 邪恶。 期。
  8. Android 系统(172)---如何使用addr2line命令解析native backtrace
  9. 如何在 Mac 上使用网络位置?
  10. Facebook发区块链货币,这不就是Q币吗???
  11. openwrt编译smartdns_LEDE/OpenWRT 部署SmartDNS
  12. Check It Again: Progressive Visual Question Answeringvia Visual Entailment(SAR)
  13. Django入门 | 官方文档带你快速入门
  14. 云呐|固定资产采购管理系统(资产采购管理有哪些功能)
  15. 解决office2003,无法卸载也无法安装问题
  16. 阿里云、腾讯云、华为云、Ucloud(优刻得)、天翼云 的云服务器性能测试和价格对比
  17. 求无限循环小数的循环节
  18. 图片变色HSV-shader
  19. C++实现求最大访客数
  20. sja1000 中断_SJA1000中断接收为什么接收中断不能被触发,不能进入中断接收子函数?看资料,里面说会自动触发中断的。...

热门文章

  1. Kevin Mitnick
  2. C#设计模式实现-中介者模式(Media Partten)
  3. Linux Network- Muti_thread and Multi_process TCP server
  4. 使用树莓派DIY个人智能设备
  5. 自然语言处理从入门到应用——自然语言处理的基础任务:词性标注(POS Tagging)和句法分析(Syntactic Parsing)
  6. 使用css实现 “查看更多” 的功能和样式
  7. sqli-labs 第五关
  8. indexOf方法是否可以查找数组中的对象
  9. 泡MM经典语录,女的回答更绝!
  10. 软考学习网络工程师-vlan