常用方法总结,流水号,随机数,日期,日期比较....
package util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.security.MessageDigest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author 朱湘鄂
* @version 1.0
* @date 2010-11-29
*/
public class Util {
//时间类
//返回String类型的时间
public static String returnStringDate(){
Date date = new Date();//默认的输出方式为:Tue Nov 30 14:25:24 CST 2010
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换为:年月日,时分秒的形式
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
System.out.println(sdf.format(date));
return sdf.format(date);
}
//返回Date类型的时间
public static Date returnDate(){
Date date = new Date();//默认的输出方式为:Tue Nov 30 14:25:24 CST 2010
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换为:年月日,时分秒的形式
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try {
date = sdf.parse(sdf.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(sdf.format(date));
return date;
}
//将String类型的yyyy-MM-dd转换为Date类型
public static Date convertStringToDate(String strDate){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//格式化时间 yyyy-MM-dd
try {
date = sdf.parse(sdf.format(strDate));
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
return date;
}
/**
* 比较当前日期和指定日期 return boolean
* 如果当前日期在指定日期之前返回true否则返回flase
*/
public static boolean dateCompare(String str){
boolean flag = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String isDate = sdf.format(new Date());
java.util.Date date1;
java.util.Date date0;
try {
date1 = sdf.parse(str);
date0= sdf.parse(isDate);//当前日期
if(date0.after(date1)){
flag = true;
}
} catch (ParseException e) {
flag = false;
}
return flag;
}
// 付费用到的时间类型
public static String dateInPayment() {
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyyMMddHHmmss");
String strdate = dateFormatter.format(System.currentTimeMillis());
System.out.println(strdate);
return strdate;
}
//将带,(\、等特殊字符的字符串转换为集合),以,为例
//分两种情况,
//第一种:最后一个字符也是特殊字符。例如:My,Love,Zhu,Zhu,
//第二种情况:最后一个字符不是特殊字符。例如:My,Love,Zhu,Zhu
public static List convertStringToArray(String str){
//判断是哪一种情况,第一种情况为默认为false
boolean flag = false;
List list=new ArrayList();
String lastOne = str.substring(str.length()-1,str.length());
if(!lastOne.equals(",") && lastOne!=","){
flag = true;//不是第一种情况
}
if(flag){
String[] hasNone = str.split("\\,");
for(int i=0;i<hasNone.length;i++){
list.add(hasNone[i]);
}
}else{
String hasOne = str.substring(0, str.length()-1);
String[] has= hasOne.split("\\,");
for(int i=0;i<has.length;i++){
list.add(has[i]);
}
}
return list;
}
//数字类型
//产生一个随机数,不带种子(以便返回的都是不同的数字)
public static String autoRandom(){
int num = 0;
Random rm = new Random();
if(rm.nextInt()<0){
num = 0 - rm.nextInt();
}else{
num = rm.nextInt();
}
System.out.println(num);
return new Integer(num).toString();
}
/**
* 得到系统唯一20位流水号
* 方法名:getNewID
* 参数: 无
* 返回值:String
*/
private static int cnt = 0;
public synchronized static String getNewID()
{
StringBuffer sb = new StringBuffer(20);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
sb.append(sdf.format(new Date()));
if (cnt < 10)
{
sb.append("00").append(cnt);
}
else
if (cnt < 100)
{
sb.append("0").append(cnt);
}
else
if (cnt < 1000)
{
sb.append(cnt);
}
cnt++;
if (cnt > 999)
{
cnt = 0;
}
System.out.println(sb.toString());
return sb.toString();
}
//数组排序
//冒泡排序:思想:拿第一个与后一个比较,大于后者就后移一位
public static int[] mpSort(int[] ints){
int size = ints.length;
int num = 0;
//排序之前先输出
for(int i=0;i<size;i++){
System.out.print(ints[i]+",");
}
System.out.println("");
//排序中
for(int k=size-1;k>0;k--){
for(int j=0;j<k;j++){
if(ints[j]>ints[j+1]){//交换位置
num = ints[j];
ints[j] = ints[j+1];
ints[j+1] = num;
}
}
}
for(int i=0;i<size;i++){
System.out.print(ints[i]+",");
}
System.out.println("");
//排序之后输出
return ints;
}
//选择排序:思想:假定第一个为最小的
public static int[] selectSort(int[]array){
for(int out=0;out<array.length-1;out++){
int min=out;
for(int in=out+1;in<array.length;in++){
if(array[in]<array[min]){
min=in; //交换位置
}
}
int t =array[out]; //替换数值
array[out]=array[min];
array[min]=t;
}
return array;
}
public static void main(String[] args){
}
}
分享到:
相关推荐
### JAVA编程单词汇总 #### 第一章:基础概念与关键字 - **public** ['pʌblik]:在 Java 中,“public”是一个访问修饰符,用于声明类、方法或变量等可以被任何其他代码访问。这有助于实现面向对象编程中的开放...
Java编写的公司员工打卡程序是一种基于Java编程语言开发的应用,旨在模拟实际工作环境中员工的上下班打卡流程。这个系统对于初学者来说是一个很好的学习项目,因为它涵盖了基础的Java编程概念,如面向对象设计、控制...
8. **设计模式**:设计模式是解决常见编程问题的最佳实践,如工厂模式、单例模式、观察者模式等,它们在课程设计中常被用到。 9. **JDBC与数据库交互**:Java通过JDBC API可以连接和操作各种数据库,进行数据的增删...
在实际开发中,Java 提供了内置的 `Arrays.sort()` 方法,它使用了更高级的 TimSort 算法,结合了冒泡排序、插入排序和归并排序的优点,具有很好的性能。然而,学习和理解基础排序算法对于深入理解数据处理的底层...
7. **设计模式**:工厂模式、装饰器模式、代理模式、观察者模式等,这些都是软件设计中常用到的模式,能够提高代码的可复用性和可维护性。 8. **网络编程**:Socket通信、HTTP服务器的实现,以及基于TCP/UDP的简单...
Java图书馆管理系统是一个使用Java编程语言编写的软件应用,主要目的是为了帮助图书馆进行日常运营,如书籍管理、读者服务以及借阅记录跟踪等。这个系统大约包含1500行代码,适合作为学生进行课程设计或者学习Java...
【斗地主JAVA版本】是一款基于Java编程语言开发的单机版斗地主游戏,它提供了丰富的游戏体验,让玩家可以在计算机上享受经典的斗地主乐趣。Java是一种广泛应用于跨平台软件开发的强大语言,尤其适合于创建桌面应用...
Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和丰富的库而著名。在本项目中,"一些java的小游戏项目,贪吃蛇啥的.zip" 包含了用Java开发的...同时,这也是一个很好的机会去应用和巩固Java编程技能。
这个名为"ys-peral-p-master"的压缩包文件似乎包含了一个Java学习项目,非常适合个人进行实践练习,提升Java编程技能。以下是这个项目可能涵盖的一些关键知识点: 1. **面向对象编程**:Java的核心特性之一就是面向...
这个压缩包文件“java各公司笔试题集合”显然包含了多个公司在招聘Java程序员时可能会用到的试题,涵盖了基础理论、代码纠错和编程题目等多个方面。下面,我们将深入探讨这些知识点。 一、Java基础知识 这部分试题...
10. **字符串处理**:Java中的字符串操作涉及到模式匹配、KMP算法、Rabin-Karp算法等,这些都是在文本处理和数据分析中常用到的算法。 通过深入学习和实践这些Java算法,开发者可以提升编程能力,解决实际问题,并...
在编程领域,Java是一种广泛应用的高级编程语言,尤其在企业级应用和算法实现上具有显著优势。本主题聚焦于“Java实现算法的代码”,旨在探讨如何利用Java来编写和实现各种算法与数据结构。以下是对这个主题的详细...
在本压缩包“这是我用java写的一些小游戏.zip”中,包含了一个名为“myGame-master”的游戏项目源码,这是使用Java编程语言开发的。这个项目适用于多种用途,如学生的毕业设计、课程设计以及个人技能提升。以下是这...
这些源代码涵盖了数据结构(如图、树、队列、栈)和算法(如排序、搜索、编码解码)的广泛领域,对于提升Java编程和问题解决技能非常有帮助。通过学习和实践这些代码,开发者可以更好地理解和应用计算机科学的基本...
《用Java所写的2048小游戏》是一个基于Java编程语言开发的小型游戏项目,适合学生进行课程设计或毕业设计,同时也是提升编程技能的理想实践。2048游戏是一款简单的数字合成游戏,玩家通过上下左右滑动屏幕,使得棋盘...
【标题】"桌球小游戏入门 java.zip"是一个使用Java编程语言开发的游戏项目,主要目标是为初学者提供一个实践平台,适用于毕业设计、课程设计以及个人技能提升。这个压缩包包含了一个名为“boring_java_billiards-...
- Java语言:Android主要使用Java作为开发语言,因此对Java的基础语法、面向对象编程和异常处理等要有扎实的理解。 - Android SDK:包含了开发Android应用所需的各种库和工具,如Android Studio IDE、构建系统...
- 工具类通常包含静态方法,用于执行特定任务,如字符串处理、日期格式化、网络请求等。由于它们不持有实例状态,因此在多个地方调用不会引发内存泄漏。 - 常见的工具类包括:`StringUtils`(处理字符串)、`...
这个项目为开发者提供了一个了解和学习Java编程语言以及相关软件开发实践的宝贵资源。下面我们将深入探讨其中涉及的Java编程知识点、软件开发流程以及可能的技术栈。 首先,Java作为一种广泛使用的面向对象的编程...
73.6. 项目中用到的Spring中的切面编程最多的地方:声明式事务管理。 77 73.7. spring的事务如何配置 77 73.8. transaction有那几种实现(事务处理)(Spring) 79 73.9. Spring IoC 79 73.10. Spring AOP面向方面编程 ...