常用类 StringBuffer Scanner Random SimpleDateFormat Pattern ArrayList LinkedList Set Map

1.StringBuffer 用法代码举例:

class DateTime{// 以后直接通过此类就可以取得日期时间

private Calendar calendar = null ;// 声明一个Calendar对象,取得时间

public DateTime(){// 构造方法中直接实例化对象

this.calendar = new GregorianCalendar() ;

}

public String getDate(){// 得到的是一个日期:格式为:yyyy-MM-dd HH:mm:ss.SSS

// 考虑到程序要频繁修改字符串,所以使用StringBuffer提升性能

StringBuffer buf = new StringBuffer() ;

buf.append(calendar.get(Calendar.YEAR)).append("-") ;// 增加年

buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("-") ;// 增加月

buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ") ;// 取得日

buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append(":") ;// 取得时

buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append(":") ;

buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append(".") ;

buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)) ;

return buf.toString() ;

}

public String getDateComplete(){// 得到的是一个日期:格式为:yyyy年MM月dd日 HH时mm分ss秒SSS毫秒

// 考虑到程序要频繁修改字符串,所以使用StringBuffer提升性能

StringBuffer buf = new StringBuffer() ;

buf.append(calendar.get(Calendar.YEAR)).append("年") ;// 增加年

buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("月") ;// 增加月

buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append("日") ;// 取得日

buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append("时") ;// 取得时

buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append("分") ;// 取得分

buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append("秒") ;// 取得秒

buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)).append("毫秒") ; // 取得毫秒

return buf.toString() ;

}

public String getTimeStamp(){// 得到的是一个时间戳

// 考虑到程序要频繁修改字符串,所以使用StringBuffer提升性能

StringBuffer buf = new StringBuffer() ;

buf.append(calendar.get(Calendar.YEAR)) ;// 增加年

buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)) ;// 增加月

buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)) ;// 取得日

buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)) ;// 取得时

buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)) ;// 取得分

buf.append(this.addZero(calendar.get(Calendar.SECOND),2));// 取得秒

buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)) ; // 取得毫秒

return buf.toString() ;

}

// 考虑到日期中存在前导0,所以在此处加上补零的方法

private String addZero(int num,int len){

StringBuffer s = new StringBuffer() ;

s.append(num) ;

while(s.length()<len){// 如果长度不足,则继续补0

s.insert(0,"0") ;// 在第一个位置处补0

}

return s.toString() ;

}

};

public class XiTi {

public static void main(String args[]){

DateTime dt = new DateTime() ;

System.out.println("系统日期:"+dt.getDate()) ;

System.out.println("中文日期:"+dt.getDateComplete()) ;

System.out.println("时间戳:"+dt.getTimeStamp()) ;

}

}

二、Scanner类:  

/*验证汽车牌照

现在假设汽车牌照的组成AB-123456前两位必须是字母后面必须是6位的数字。*/

public class Bus {

public static void main(String args[]){

Scanner  in=new Scanner (System.in);

System.out.println("请输入要查的汽车牌照:");

String input=in.next();

Pattern p=Pattern.compile("^[A-Z]{2}-[0-9]{6}$");

Matcher  m=p.matcher(input);

boolean flag=m.matches();

if(flag==true){

System.out.println("牌照合格");

else{

System.out.println("非法牌照");

}

}

}

三.Random类代码例子:

public class Main4teacher {

public static void main(String[] args) {

int[] i = createRandom();

Arrays.sort(i);

System.out.println(Arrays.toString(i));

}

public static int[] createRandom(){

int[] t = new int[29];

for(int i = 0;i<29;i++){

t[i] = (int)(Math.random()*30+1);

int n = i;

while(n>0){

n--;

if(t[i] == t[n]){

i--;

break;

}

}

}

return t;

}

}

-------------------------------------

public class Ran {

/**

 * 写一个彩票程序 30选7 随机(1~30中间)生成7个随机数,注意不能重复然后输入7个数,对比7个数是否与随机数有相同的,如果有显示“中了几个号”

 * 如果中了7个号,显示一等奖 如果中了6个号,显示二等奖 如果中了5个号,显示三等奖.

 * 注意,随机数不能重复   ,输入的随机数也不能相同。

 */

static Scanner in = new Scanner(System.in);

static int a1count=0;

public static void main(String[] args) {

int[] b = new int[7];

for (int i = 0; i < 7; i++) {

int rom = (int) (Math.random() * 29 + 1);

b[i] = rom;

}

System.out.println(Arrays.toString(b));

for (int i = 0; i < 7; i++) {

System.out.println("请输入采票数【1-30】之前的数:");

a1 = in.nextInt();

if(a1==b[i]){

count++;

}

                 

}

if(count==7){

System.out.println("中了一等奖");

}else if(count==6){

System.out.println("中了二等奖");

}else if(count==5){

System.out.println("中了三等奖");

}else {

System.out.println("没有中奖,谢谢参与!");

}

}

}

四.SimpleDateFormat类例子:

public class Main {

/**

 * 1.计算某年、某月、某日和当前时间的天数间隔。要求年、月、日通过 main 方法的参数传递到程序中。

程序输出结果:

请输入时间(注意:时间格式为2014-08-07):

2013-7-9

还要84天,才到你输入的时间

请输入时间(注意:时间格式为2014-08-07):

2010-7-5

你输入的时间距离现在时间已过1016天

 *  

 */

public static void main(String[] args) throws ParseException {

Scanner input=new Scanner(System.in);

System.out.println("请输入时间:(注意:时间格式为2014-08-07)");

String time=input.next();//输入时间,字符串型。 

//String str="2015-04-15";

//String str1="2008-08-08";

String format ="yyyy-MM-dd";

SimpleDateFormat format1=new SimpleDateFormat(format);

Date date=null;//声明时间

date=format1.parse(time);//把输入的字符串时间串转成给定格式 的时间形式。

long time2=date.getTime();

System.out.println("前台输入的时间 :毫秒值"+time2);

//当前时间 的毫秒值。

Date nowtime=new Date();

long time1=nowtime.getTime();

System.out.println("当前时间 的毫秒值:"+time1);

//两个毫秒值的差:

long timecha=time1-time2;//当前毫秒值与输入时间的毫秒值的差。

long daycha=timecha/(3600*1000*24);//一天24小时,一小时60分,1分60秒,一小时是3600秒,一秒是1000毫秒。一天是3600*24*1000秒

    if(daycha>=0){

System.out.println("已过"+daycha+"天");

    }else{

System.out.println("离现在差"+Math.abs(daycha)+"天");

    }

}

}

五、正则表达式

public class Title9 {

/**

 * 用正则表达式验证输入的字符串是Email地址、电话号码或者是身份证号(15位或18位数字)。

 * 若是Email地址就在控制台打印“此字符串是Email地址”;若是电话号码就在控制台打印“此字符串是电话号码”;

 * 若是身份证号就在控制台打印“此字符串是身份证号”;

 * 否则,输出“此字符串既不是Email地址,也不是电话号码,更不是身份证号”

 */

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

System.out.println("请输入Email地址、电话号码或者是身份证号(15位或18位数字)");

        String str=in.next();

Pattern  email=Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.])*\\.\\w+([-.]\\w+)*$");

Pattern tel=Pattern.compile("[1][1-9][0-9]*{11}");

Pattern cad=Pattern.compile("[0-9]{18}");

    

    boolean  a=email.matcher(str).matches();

    

    boolean  b=tel.matcher(str).matches();

    

    boolean  c=cad.matcher(str).matches();

    

    if(a==true){

    

    System.out.println("此字符串是Email地址");

    

    }else if(b==true){

    System.out.println("此字符串是电话号码");

    

    }else if(c==true){

    System.out.println("此字符串是身份证号");

    }else{

    System.out.println("此字符串既不是Email地址,也不是电话号码,更不是身份证号");

    

    }

    

    

}

}

六、ArrayList 代码例子:

import java.util.ArrayList;

public class ArrayListDemo1 {

/**

 * @如何使用ArrayList  是数组的顺序存储结构

 */

public static void main(String[] args) {

ArrayList<Integer> List=new ArrayList<Integer>();

for(int i=0;i<10;i++){

List.add(i);

}

List.remove(6);

System.out.println(List.get(2));

for(int i=0;i<3;i++)

List.add(i);

}

}

七、

public class ArrayListDemo2 {

/**

 * @param args

 */

public static void main(String[] args) {

List<String> allList=null;

Collection<String> allCollection=null;

allList=new ArrayList<String>();

allCollection =new ArrayList<String>();

allList.add("hello");

allList.add(0,"world");//此接口中的方法,可以选择在任意位置填 加

allList.add(2,"@");

System.out.println(allList);//[world, hello, @]

allCollection.add("翡翠教育");

allCollection.add("安桌易");//只能是顺序往后填 加 数据结构是队列式的

System.out.println(allCollection);//[翡翠教育, 安桌易]

allList.addAll(allCollection);

System.out.println(allList);//[world, hello, @, 翡翠教育, 安桌易]

allList.addAll(0,allCollection);

System.out.println(allList);//[翡翠教育, 安桌易, world, hello, @, 翡翠教育, 安桌易]

}

}

八 LinkedList代码例子:

import java.util.LinkedList; 

public class LinkListDemo1 {

/**LinkList是一种双向的链式结构   

 * @param args

 */

public static void main(String[] args) {

LinkedList<String> n=new LinkedList<String>();

n.add("a");

n.add("b");

n.add("c");

System.out.println(n);//[a, b, c]

n.addFirst("@");

System.out.println(n);//在链表的头部插入内容[@, a, b, c]

    n.addLast("rare");

    System.out.println(n);//在链表的尾部插入内容[@, a, b, c, rare]

    

    

    

    

}

}

九.ListIterator输出

public class ListIteratorDemo {

/**

 * @param args 双向输出,通过LIST接口实例化,只能输出LIST 接口的内容 。

 */

public static void main(String[] args) {

List <String> all=new ArrayList<String>();//实例化list接口

all.add("hello");

all.add("-");

all.add("world");

ListIterator<String> iter=all.listIterator();// 实例化listIterator接口

System.out.println("从前向后输出");

while(iter.hasNext()){//后一个元素有值就输出

String str=iter.next();

System.out.print(str+",");

}

System.out.println();

System.out.println("从 后向前输出");

while (iter.hasPrevious()){//前一个元素有值就输出

String str=iter.previous();//取出值 

System.out.print(str+",");

}

/*从前向后输出

hello,-,world,

从 后向前输出

world,-,hello*/

十、map

public class MapJieKouShuChu {

/**

 * Map接口输出

 */

public static void main(String[] args) {

Map<String,String> map=new HashMap<String,String>();

map.put("翡翠教育""www.abc.com");

map.put("安桌易""www.123.com");

Set<Map.Entry<String ,String>> allset=map.entrySet();//*******************

Iterator<Map.Entry<String,String>>  iter=allset.iterator();

while(iter.hasNext()){

Map.Entry<String, String> me=iter.next();

System.out.println(me.getKey()+"-------"+me.getValue());

}

/*

安桌易-------www.123.com

翡翠教育-------www.abc.com

*/

Stack<String> s=new Stack<String>();

s.push("a");

s.push("b");

s.push("c");

System.out.println(s.pop());

System.out.println(s.pop());

System.out.println(s.pop());//c,b,a  出栈,先进后出

}

}

十一、set

import java.util.HashSet;

import java.util.Set;

public class SetDemo1 {

/**

 * @set接口也是Collection接口的子接口,但是与CollectionList接口不同的是,Set接口中不能加入重复的元素,队列式,单向输出。

 */

public static void main(String[] args) {

//hashsetset接口的一个子类,不重复,无顺序。

Set<String> a=new HashSet<String>();

a.add("a");

a.add("b");

a.add("c");

a.add("c");

a.add("d");

System.out.println(a);//[d, b, c, a]????????????怎么不是c,b,a的顺序呢

    a.add("e");

    System.out.println(a);//[d, e, b, c, a]

a.remove("a");

System.out.println(a);//移除a对象后[d, e, b, c]

}

}

十二、TreeSet<String>()代码例子:

import java.util.SortedSet;

import java.util.TreeSet;

public class SortedSetDemo1 {

/**

 * @param args

 */

public static void main(String[] args) {

SortedSet<String> a=new TreeSet<String>();

a.add("E");

a.add("B");

a.add("C");

a.add("C");//C是重复元素,不能加入

a.add("C");//C是重复元素,不能加入

a.add("D");

a.add("A");

   System.out.println(a);// 加入后的是排序好的[A, B, C, D, E]

   System.out.println(a.first());//输出第一个元素A

   System.out.println(a.last());//E 返回最后一个元素。

   System.out.println(a.headSet("C"));//[A, B]  反回从开始到指定元素的集合,不包括指定元素。

   System.out.println(a.tailSet("C"));//[C, D, E]  从指定元素到最后。

   System.out.println(a.subSet("B", "D"));//[B, C]

}

}

十三、TreeMap<String,String>()用法

public class SortMapDemo {

/**

 * SortMap接口是排序接口,只要是实现了此接口的子类,都属于排序的子类。

 */

public static void main(String[] args) {

SortedMap<String,String> m=new TreeMap<String,String>();

m.put("D,翡翠教育""www.feicui.com");

m.put("C,安桌易""www.an.com");

m.put("B,桌思""www.zhuosi.com");

m.put("A,北京""www.beijing.com");

System.out.println(m.firstKey());//第一个元素的内容的KEY

System.out.println(m.get(m.firstKey()));//第一个元素的key对应的值。

System.out.println("最后一个元素的KEY----->"+m.lastKey());

System.out.println(m.get(m.lastKey()));

System.out.println("返回小于指定范围的集合");

SortedMap<String, String> map = null;

for(Map.Entry<String, String> me: map.headMap("C,安桌易").entrySet()){

System.out.println(me.getKey());

}

}

}

十四、Vector<String>() 用法

public class VectorDemo {

/**是List 的子类

 * @param args

 */

public static void main(String[] args) {

List<String> a=null;

a=new Vector<String>();

a.add("hello");

a.add(0,"world");

a.add("翡翠教育");

a.add("安桌易");

for (int i=0;i<a.size();i++){

System.out.println(a.get(i)+",");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值