正则的使用1
2016-04-24 16:44
375 查看
这个代码就是构建一个学生类,重写toString和compareTo方法,需要注意compareTo的重写规则(孰能生巧),toString就不提了。然后是TestDemo里的Arrays方法,对 对象进行自然的排序,输出的时候注意下方式(孰能生巧)。而且这个Arrays自我感觉非常的好用!
关于正则的练习,一个小代码。
package Pattern_Matcher; import java.util.Arrays; /** * --------------逆水行舟,不进则退------------- * * @outhor:Wang * @CO:cfxy * @version2.0 */ class Student implements Comparable<Student> { private String name; private int age; private double score; public Student() { } public Student(String name, int age, double score) { this.name = name; this.age = age; this.score = score; } public void setName(String name) { this.name = name; } public String getName() { return this.name; } public void setAge(int age) { this.age = age; } public int getAge() { return this.age; } public void setScore(double score) { this.score = score; } public double getScore() { return this.score; } // 姓名:年龄:成绩|姓名:年龄:成绩|姓名:年龄:成绩|…” @Override public String toString() { return "姓名:" + this.name + "\t年龄:" + this.age + "\t成绩:" + this.score; } @Override public int compareTo(Student s) { if (this.score > s.score) { return 1; } else if (this.score < s.score) { return -1; } else { if (this.age > s.age) { return 1; } else if (this.age < s.age) { return -1; } else { return 0; } } } } public class 正则和学生的比较 { public static void main(String[] args) { // 测试自己写的compareTo是否能用 // 假装这里有5个学生 String str = "SMITH:19:97.1|ALLEN:18:90.1|KING:20:95.2|Wang:20:97.1|Wang:10:97.1"; String regex = "([a-zA-Z]+:\\d{1,3}:\\d{1,3}(\\.\\d{1,2})\\|)+" + "([a-zA-Z]+:\\d{1,3}:\\d{1,3}(\\.\\d{1,2})?)?"; // 一次或者一次也沒有(但是至少得出现一次啊?!) if (str.matches(regex)) { String[] regexs = str.split("\\|"); // 按正则拆分 // 创建一个Student数组,存放若干的学生(其大小等于拆分出来的regexs的大小) Student stu[] = new Student[regexs.length]; for (int i = 0; i < regexs.length; i++) { String[] temp = regexs[i].split(":"); // 实例化数组对象 stu[i] = new Student(temp[0], Integer.parseInt(temp[1]), Double.parseDouble(temp[2])); } Arrays.sort(stu); //把stu排序了(方法就是自己定义的那个compareTo方法) for (int x = 0; x < stu.length; x++) { System.out.println(stu[x].toString()); } } else { System.out.println("不是正则表达式!"); } } }
关于正则的练习,一个小代码。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树