ImageVerifierCode 换一换
格式:DOC , 页数:28 ,大小:281.50KB ,
资源ID:3520179      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3520179.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java经典编程事例.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

java经典编程事例.doc

1、经典编程小事例反射与正则 1.给一个 ArrayList集合中添加一个字符串数据,并显示* 思路:1,获取这个集合的字节码对象 然后通过Class对象获取该集合对象.* 2.再用Class对象获取集合的add方法对象Method* 3.再把class对象与添加的字符串当参数传给Method的方法invoke.import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;public class Test public static void main(String args) throws Ex

2、ception List list = new ArrayList();Class cls = list.getClass();ArrayList obj =(ArrayList)cls.newInstance();Method mt = cls.getMethod(“add“,Object.class);mt.invoke(obj, “String“);/obj.add(“String“);这样则无法编译通过System.out.println(obj);2. 通过配置文件运行类中的方法import java.io.FileInputStream;import java.lang.refle

3、ct.Method;import java.util.Properties;/* 思路:* 1,先将文件写入字节流,然后将字节流写入Properties集合中* 2,通过getProperties方法获取方法名和类名* 3,再通过类名获取其class对象* 4.通过对象和方法名获取其方法*/public class Test public static void main(String args) throws ExceptionFileInputStream file = new FileInputStream(“Show.txt“);Properties pro = new Propert

4、ies();pro.load(file);file.close();/通过键值对获取对应的类名和方法名String className = pro.getProperty(“className“);String methodName= pro.getProperty(“methodName“);/通过反射获得字节码对象和方法对象Class cls = Class.forName(className);Object obj =cls.newInstance();Method mt = cls.getMethod(methodName,null);/方法一定要公用public/如果是getDecl

5、aredMethod, 则也可以获取非公有方法/如果方法私用,那么要先暴力破解:mt.setAccessible(true);mt.invoke(obj,null);3.随即输入 QQ 号:校验 QQ 号码:不能以 0 开头 是 5-15 位的数字import java.util.Scanner;* * 思路:用正则定义规范,再用String类的匹配方法match方法判断时否正确public class Test public static void main(String args) Scanner sc = new Scanner(System.in);String qq = sc.nex

6、tLine();String segex =“00-94,14“;boolean flag= qq.matches(segex);if (flag) System.out.println(qq);elseSystem.out.println(“输入格式错误“ );4. 邮件校验/String regex = “a-zA-Z_0-9+a-zA-Z_0-9+(.a-zA-Z_0-9+)+“;/用w 改写规则w 表示:单词字符:a-zA-Z_0-9 /反斜杠的用法:当在字符串中,表示转义,所以要表示明确意思要用两个反斜杠String regex = “w+w+(.w+)+“;boolean flag

7、 = eamil.matches(regex);System.out.println(flag);5.将字符串还原成:“我要学编程” 。如:我.我.要.String s = “我我.我.我. 要.要要.要学. 学学. 学. 编. 编编. 编.程. 程.程.程“;String regex = “.+“;/先把点去掉s=s.replaceAll(regex, “);System.out.println(s);s=s.replaceAll(“(.)1+“, “$1“);/再去叠词,注意:这里$1表示前面(.)1内的值,也就是任意 值.() 是组意思System.out.println(s);6.能将

8、这些 ip 地址排序。按照地址段数值从小到大排序。“192.168.3.23 202.10.34.2 3.3.3.3 127.0.0.1 80.12.23.34“思路:* ip地址都是字符串,所有字符串排序,用TreeSet。* 如果用TreeSet现在存在每个ip地址,就会有问题。因为有部分ip没有满足三位。* 这样比较是有问题的, 所有,我们采取补位的方式。* 1:先 给每个ip地址的每一个位在前面补2个0 。* 2:把超出 3位的数据,截取成 3位。*/public class Test public static void main(String args) String str =

9、“192.168.3.23 202.10.34.2 3.3.3.3 127.0.0.1 80.12.23.34“;/ 先补2个0str = str.replaceAll(“(d+)“, “00$1“);System.out.println(str);/ 去除超出3位的前面的0str = str.replaceAll(“0*(d3)“, “$1“);System.out.println(str);/ 切割String ips = str.split(“ “);/ 我遍历这个字符串数 组,把每个数据添加到 TreeSet集合中。TreeSet ts = new TreeSet();for (Str

10、ing s : ips) ts.add(s);/ System.out.println(s);/System.out.println(ts);/最后遍历集合,把前面的 0干掉for(String s : ts)s = s.replaceAll(“0*(d+)“, “$1“);System.out.println(s);网络编程:1.模拟 Tcp 协议的传输过程*/public class Test public static void main(String args) throws IOException /定义客户端端口Socket s = new Socket(“192.168.1.11

11、1“,10086);/定义读取键盘输 入的流BufferedReader br = new BufferedReader(new InputStreamReader(System.in);OutputStream in = s.getOutputStream();PrintWriter pw = new PrintWriter(in,true);/定义读取服务 器的字符流BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream();String s1=null;/写入服务器while(s1=br

12、.readLine()!=null) if (“over“.equals(s1)break;pw.println(s1);/读取服务器写入的数据String s3= br1.readLine();System.out.println(s3);pw.close();br.close();s.close();服务器端public static void main(String args) throws IOException /定义服务器接收端口ServerSocket ss = new ServerSocket(10086);/或取服务器Socket 接口Socket s = ss.accept

13、();/获取读取客户端的流BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream();/定义输出客户端数据的流PrintWriter pw=new PrintWriter(System.out,true);/获取反馈输出客户 端的流PrintWriter pw2=new PrintWriter(s.getOutputStream(),true);/写入客户端数据到控制台String str =null;while(str=br.readLine()!=null)pw.println(str);/

14、反馈回数据到客 户端pw2.println(“收到“ );ss.close();s.close();2.模拟 UDP 协议做一个聊天工具创建接收端与发送端发送端设立端口,用字符缓冲流读取数据打包发送接收端设立接收端口,接收数据包,用包的方法解析包的数据,打印到控制台/创建发送服务端DatagramSocket ds = new DatagramSocket();/ 创建键盘录入 对象,并用转换流进行转换 后高效处理BufferedReader bs= new BufferedReader(new InputStreamReader(System.in);String s =null;while

15、(s=bs.readLine()!=null)/ 把每一行的数据 进行封装byte bye =s.getBytes();DatagramPacket dp = new DatagramPacket(bye,bye.length,InetAddress.getByName(“fada-pc“),11111);/打包发送ds.send(dp);ds.close();bs.close();/ 创建接收端的服务DatagramSocket ds = new DatagramSocket(11111);/ 用循环接收数据while (true) / 定义一个容器接收数据,把 这个容器 传递给数据包byt

16、e bye = new byte1024;/ 调用接收方法接受数据DatagramPacket dp = new DatagramPacket(bye, bye.length);ds.receive(dp);/ 解析数据String ip = dp.getAddress().getHostAddress();String text = new String(dp.getData(), 0, dp.getLength();/ 打印数据System.out.println(ip + “-“ + text);3.如何通过主机 q 或 IP 文本,获取 IP 和电脑名称主要运用 InetAddress

17、 类和其下面的 getByName getHostAdddress getHostName 方法public static void main(String args)throws UnknownHostException InetAddress id1 = InetAddress.getByName(“fada-pc“);InetAddress id = InetAddress.getByName(“192.168.1.111“);String ip = id.getHostAddress();String name = id.getHostName();System.out.println

18、(ip+“-“+name);System.out.println(id1.getHostAddress()+“-“+id1.getHostName();IO 流1.要求获取一个程序运行的次数,如果满足 5 次,那么该程序退出, 请给出注册的提示,并结束思路:* 1:定 义计数器记录 程序的运行次数。* 由于这个次数如果是记录在程序中,那么程序结束,下次再开始运行,记录次数又重头开始。* 所以,我们需要把次数记录在一个文件中。* 2:每次我 们可以从一个文件中 读取一个次数,进行判断,看我们的程序是否还可以运行。* 如果可以,就让程序继续,否则,提示要注册。* 3:假如一个文件中,只记录一个数字

19、没什么意义。所以,我们采用键值对的方式记录。* 这样呢,我们就考虑到了Properties这个对象。*/public class Test public static void main(String args) try boolean flag = runCount();if (!flag) System.out.println(“请拿钱注册“ );return; catch (IOException e) e.printStackTrace();System.out.println(“开始玩游戏.“);System.out.println(“玩游戏.“);System.out.printl

20、n(“结束玩游戏.“);/ 每次读取文件,获 取键值对中的值进行判断,如果大于 5次就改真假值。public static boolean runCount() throws IOException boolean flag = true;/ 定义一个属性文件 (.properties, .ini xml)File countFile = new File(“count.properties“);/ 判断文件是否存在,如果不存在就 创建文件if (!countFile.exists() countFile.createNewFile();/ 定义我们记录 数据的格式:count=值Proper

21、ties prop = new Properties();/ 把数据从文件中加 载到集合中FileInputStream fis = new FileInputStream(countFile);prop.load(fis);fis.close();/ 通过键获取值int num = 0;String value = prop.getProperty(“count“);if (value != null) num = Integer.parseInt(value);if (num = 5) flag = false;num+;/ 设置值prop.setProperty(“count“, num

22、 + “);/ 把集合中的数据重新写回文件FileOutputStream fos = new FileOutputStream(countFile);prop.store(fos, null);fos.close();return flag;2.实现一个包装类,让读出的每一行自动加上行号和:号public class Test2 extends BufferedReader private int lineNumber;public Test2(Reader r) super(r);public String myReadLine() throws IOException lineNumbe

23、r+;if (super.readLine()!=null) return lineNumber+“:“+super.readLine();elsereturn null;3.*需求:把 Properties.txt 中键为 count 的值改为 100*读出到Properties集合- 用load()方法*再从转化成 set集合遍历出count 键, 再用getProperty 写入新值*再用list或store 方法写放到文件中*/public class Test public static void main(String args) throws IOException FileIn

24、putStream fs = new FileInputStream(“Properties.txt“);Properties pp = new Properties();pp.load(fs);fs.close();System.out.println(pp);Set set =pp.keySet();Set set1 =pp.stringPropertyNames();for (Object obj:set) String s =(String)obj;if(s.equals(“count“)pp.setProperty(s, 100+“);PrintWriter pw = new Pri

25、ntWriter(new FileWriter(“Properties.txt“),true);pp.list(pw);pw.close();4.键盘输入转大写在控制台显示public static void main(String args) throws IOException BufferedReader br = new BufferedReader(new InputStreamReader(System.in);PrintWriter pw = new PrintWriter(System.out,true);String line = null;while(line=br.readLine()!=null)pw.println(line.toUpperCase();br.close();pw.close();

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。