![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java练习题以及常用面试问题
Vicali
程序员
展开
-
面试题:网络编程中,什么是三次握手四次挥手?
三次握手过程:1、由客户端发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成的,并且将报文中的SYN字段置为1,表示需要建立TCP连接。(SYN=1,seq=x,x为随机生成数值)2、由服务端回复客户端发送的TCP连接请求报文,其中包含seq序列号,是由回复端随机生成的,并且将SYN置为1,而且会产生ACK字段,ACK字段数值是在客户端发送过来的序列号seq的基础上加1进行回复,以便客户端收到信息时,知晓自己的TCP建立请求已得到验证。(SYN=1,ACK=x+1,seq=y,原创 2020-11-28 10:38:50 · 156 阅读 · 0 评论 -
练习题:Java多线程实现生产者和消费者问题
生产者和消费者同时使用一块缓冲区,生产者生产商品放入缓冲区,消费者从缓冲区中取出商品。我们需要保证的是,当缓冲区满时,生产者不可生产商品;当缓冲区为空时,消费者不可取出商品。 class Producer implements Runnable { @Override public void run() { synchronized (list) { //仓库容量已经达到最大值 w原创 2020-11-25 17:37:02 · 436 阅读 · 0 评论 -
练习题:定义List集合,控制台输入任意字符串保存到List集合使用Set集合,将List集合中的重复元素过滤掉,使用 迭代器遍历Set集合
public class Work1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List<String> list = new ArrayList(); Set<String> set = new TreeSet(); while(true) { System.out.println("请输入要保存的字符串:"); String s =原创 2020-11-23 20:03:12 · 621 阅读 · 1 评论 -
练习题:员工信息管理系统(集合+文件读写)附代码
思路需求:实现员工信息的增删改查。添加员工信息:1.通过FileWriter将从键盘录入的员工信息写入到文件中。(能够保存数据)2.创建员工类,创建Set集合,以行数读出文件中的员工信息得到员工信息字符串,以split拆分字符串得到字符串数组,按角标将数据赋值给员工类对象。将员工对象添加进Set集合。查询所有员工的信息1.通过FileReader将文件信息读出到Set集合中遍历输出查询指定员工的信息以指定的工号判断查询并打印输出。删除指定员工的信息1.读出文件的员工信息。2.存入Set原创 2020-11-23 17:53:14 · 2010 阅读 · 0 评论 -
练习题:通过递归调用遍历文件目录得到所写代码的行数
package com.sxt.work;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;public class WorkDemo1 {static int count;public static void main(String[] args) { totalCode(new File("D:\\eclipse-work"),""); System.out.println("coun原创 2020-11-23 11:34:57 · 94 阅读 · 0 评论 -
练习题:统计字符串中子字符串出现的次数
思路:1.使用split()方法分割字符串,得到被分割后的字符串数组。2.遍历字符串数组,作比较得到个数。步骤:1.创建目标字符串String s1 = “i am a student,i am ,i,am”;2.替换掉逗号s1 = s1.replaceAll(",", " “);3.以空格分割字符串得到字符串数组String[] split = s1.split(” ");4遍历数组代码:public static void main(String[] args) { i原创 2020-11-21 17:24:36 · 515 阅读 · 0 评论 -
练习题:统计文件中字符串中字母的个数
思路:每次读取一个字符判断map集合中是否存在当前字符的keypublic static void main(String[] args) { try { Map<Integer,Integer> result=new TreeMap<>(); //创建FileReader对象 FileReader fr=new FileReader("D:/test2/4.txt"); //每次读取一个字符 int code=0; while(原创 2020-11-21 14:34:38 · 647 阅读 · 0 评论 -
练习题:将数据封装为对象并保存到文件中
需求:控制台输入学生信息,将学生信息封装为Student对象,将Student对象保存到TreeSet和按照年龄大到小排序,将排序结果反转后输出到student.txt(不需要序列化)思路:创建学生类创建测试类封装输入数据为对象将对象添加到TreeSet集合反转排序结果将学生信息写入到Student.txt一、创建Student类public class Student implements Comparable<Student>{ private Integer id;原创 2020-11-21 14:27:40 · 707 阅读 · 0 评论 -
面试问题:this和super的使用和区别,重载和重写的区别
this和super的使用和区别:this:1.this代表当前对象,用于区分局部变量和对象变量2.this代表构造器,且要放在调用者构造器的第一行。super:1.super代表子类对象空间中继承自父类的成员空间的标志。用于区分自父类之间同名的成员。2.super代表父类构造器。重载和重写的区别:重载时方法的重载,方法名相同,参数列表不同的多种方法。重写时 自父类之间相同的方法,父类方法会被子类重写。...原创 2020-11-21 11:04:02 · 95 阅读 · 0 评论 -
练习题:统计字符串中每个字母出现的次数
统计字符串中每个字母的个数思路:从文件中读取字符串的内容,以字母为键(key),出现次数为值(value)存入HashMap集合中,在读入时判断集合是否存在当前字符的key,不存在则作为键值对存入集合,若存在说明出现过,value值+1,键值对覆盖存入集合中。public class WorkDemo1 { public static void main(String[] args) { try { Map<Integer,Integer> result=new TreeMa原创 2020-11-20 19:55:04 · 2610 阅读 · 0 评论