`
eminem
  • 浏览: 138329 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

收藏到一个好的java时间格式大全(类)

    博客分类:
  • java
阅读更多
http://www.busfly.cn/post/java_string_date_time_class_all.html(原文)

又收藏到一个好的java时间格式大全,这个是做成了类的

java.util.*;
import java.text.*;
import java.util.Calendar;

public class VeDate {
/**
  * 获取现在时间
  *
  * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
  */
public static Date getNowDate() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  ParsePosition pos = new ParsePosition(8);
  Date currentTime_2 = formatter.parse(dateString, pos);
  return currentTime_2;
}

/**
  * 获取现在时间
  *
  * @return返回短时间格式 yyyy-MM-dd
  */
public static Date getNowDateShort() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(currentTime);
  ParsePosition pos = new ParsePosition(8);
  Date currentTime_2 = formatter.parse(dateString, pos);
  return currentTime_2;
}

/**
  * 获取现在时间
  *
  * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
  */
public static String getStringDate() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  return dateString;
}

/**
  * 获取现在时间
  *
  * @return 返回短时间字符串格式yyyy-MM-dd
  */
public static String getStringDateShort() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(currentTime);
  return dateString;
}

/**
  * 获取时间 小时:分;秒 HH:mm:ss
  *
  * @return
  */
public static String getTimeShort() {
  SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
  Date currentTime = new Date();
  String dateString = formatter.format(currentTime);
  return dateString;
}

/**
  * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
  *
  * @param strDate
  * @return
  */
public static Date strToDateLong(String strDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(strDate, pos);
  return strtodate;
}

/**
  * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
  *
  * @param dateDate
  * @return
  */
public static String dateToStrLong(java.util.Date dateDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(dateDate);
  return dateString;
}

/**
  * 将短时间格式时间转换为字符串 yyyy-MM-dd
  *
  * @param dateDate
  * @param k
  * @return
  */
public static String dateToStr(java.util.Date dateDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(dateDate);
  return dateString;
}

/**
  * 将短时间格式字符串转换为时间 yyyy-MM-dd
  *
  * @param strDate
  * @return
  */
public static Date strToDate(String strDate) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(strDate, pos);
  return strtodate;
}

/**
  * 得到现在时间
  *
  * @return
  */
public static Date getNow() {
  Date currentTime = new Date();
  return currentTime;
}

/**
  * 提取一个月中的最后一天
  *
  * @param day
  * @return
  */
public static Date getLastDate(long day) {
  Date date = new Date();
  long date_3_hm = date.getTime() - 3600000 * 34 * day;
  Date date_3_hm_date = new Date(date_3_hm);
  return date_3_hm_date;
}

/**
  * 得到现在时间
  *
  * @return 字符串 yyyyMMdd HHmmss
  */
public static String getStringToday() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
  String dateString = formatter.format(currentTime);
  return dateString;
}

/**
  * 得到现在小时
  */
public static String getHour() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  String hour;
  hour = dateString.substring(11, 13);
  return hour;
}

/**
  * 得到现在分钟
  *
  * @return
  */
public static String getTime() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  String min;
  min = dateString.substring(14, 16);
  return min;
}

/**
  * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
  *
  * @param sformat
  *            yyyyMMddhhmmss
  * @return
  */
public static String getUserDate(String sformat) {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat(sformat);
  String dateString = formatter.format(currentTime);
  return dateString;
}

/**
  * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟
  */
public static String getTwoHour(String st1, String st2) {
  String[] kk = null;
  String[] jj = null;
  kk = st1.split(":");
  jj = st2.split(":");
  if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))
   return "0";
  else {
   double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;
   double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;
   if ((y - u) > 0)
    return y - u + "";
   else
    return "0";
  }
}

/**
  * 得到二个日期间的间隔天数
  */
public static String getTwoDay(String sj1, String sj2) {
  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
  long day = 0;
  try {
   java.util.Date date = myFormatter.parse(sj1);
   java.util.Date mydate = myFormatter.parse(sj2);
   day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
  } catch (Exception e) {
   return "";
  }
  return day + "";
}

/**
  * 时间前推或后推分钟,其中JJ表示分钟.
  */
public static String getPreTime(String sj1, String jj) {
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String mydate1 = "";
  try {
   Date date1 = format.parse(sj1);
   long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;
   date1.setTime(Time * 1000);
   mydate1 = format.format(date1);
  } catch (Exception e) {
  }
  return mydate1;
}

/**
  * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
  */
public static String getNextDay(String nowdate, String delay) {
  try{
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  String mdate = "";
  Date d = strToDate(nowdate);
  long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
  d.setTime(myTime * 1000);
  mdate = format.format(d);
  return mdate;
  }catch(Exception e){
   return "";
  }
}

/**
  * 判断是否润年
  *
  * @param ddate
  * @return
  */
public static boolean isLeapYear(String ddate) {

  /**
   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
   * 3.能被4整除同时能被100整除则不是闰年
   */
  Date d = strToDate(ddate);
  GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
  gc.setTime(d);
  int year = gc.get(Calendar.YEAR);
  if ((year % 400) == 0)
   return true;
  else if ((year % 4) == 0) {
   if ((year % 100) == 0)
    return false;
   else
    return true;
  } else
   return false;
}

/**
  * 返回美国时间格式 26 Apr 2006
  *
  * @param str
  * @return
  */
public static String getEDate(String str) {
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(str, pos);
  String j = strtodate.toString();
  String[] k = j.split(" ");
  return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);
}

/**
  * 获取一个月的最后一天
  *
  * @param dat
  * @return
  */
public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
  String str = dat.substring(0,;
  String month = dat.substring(5, 7);
  int mon = Integer.parseInt(month);
  if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {
   str += "31";
  } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
   str += "30";
  } else {
   if (isLeapYear(dat)) {
    str += "29";
   } else {
    str += "28";
   }
  }
  return str;
}

/**
  * 判断二个时间是否在同一个周
  *
  * @param date1
  * @param date2
  * @return
  */
public static boolean isSameWeekDates(Date date1, Date date2) {
  Calendar cal1 = Calendar.getInstance();
  Calendar cal2 = Calendar.getInstance();
  cal1.setTime(date1);
  cal2.setTime(date2);
  int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
  if (0 == subYear) {
   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
    return true;
  } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
   // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
    return true;
  } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
    return true;
  }
  return false;
}

/**
  * 产生周序列,即得到当前时间所在的年度是第几周
  *
  * @return
  */
public static String getSeqWeek() {
  Calendar c = Calendar.getInstance(Locale.CHINA);
  String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
  if (week.length() == 1)
   week = "0" + week;
  String year = Integer.toString(c.get(Calendar.YEAR));
  return year + week;
}

/**
  * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
  *
  * @param sdate
  * @param num
  * @return
  */
public static String getWeek(String sdate, String num) {
  // 再转换为时间
  Date dd = VeDate.strToDate(sdate);
  Calendar c = Calendar.getInstance();
  c.setTime(dd);
  if (num.equals("1")) // 返回星期一所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  else if (num.equals("2")) // 返回星期二所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
  else if (num.equals("3")) // 返回星期三所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
  else if (num.equals("4")) // 返回星期四所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
  else if (num.equals("5")) // 返回星期五所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
  else if (num.equals("6")) // 返回星期六所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
  else if (num.equals("0")) // 返回星期日所在的日期
   c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}

/**
  * 根据一个日期,返回是星期几的字符串
  *
  * @param sdate
  * @return
  */
public static String getWeek(String sdate) {
  // 再转换为时间
  Date date = VeDate.strToDate(sdate);
  Calendar c = Calendar.getInstance();
  c.setTime(date);
  // int hour=c.get(Calendar.DAY_OF_WEEK);
  // hour中存的就是星期几了,其范围 1~7
  // 1=星期日 7=星期六,其他类推
  return new SimpleDateFormat("EEEE").format(c.getTime());
}
public static String getWeekStr(String sdate){
  String str = "";
  str = VeDate.getWeek(sdate);
  if("1".equals(str)){
   str = "星期日";
  }else if("2".equals(str)){
   str = "星期一";
  }else if("3".equals(str)){
   str = "星期二";
  }else if("4".equals(str)){
   str = "星期三";
  }else if("5".equals(str)){
   str = "星期四";
  }else if("6".equals(str)){
   str = "星期五";
  }else if("7".equals(str)){
   str = "星期六";
  }
  return str;
}

/**
  * 两个时间之间的天数
  *
  * @param date1
  * @param date2
  * @return
  */
public static long getDays(String date1, String date2) {
  if (date1 == null || date1.equals(""))
   return 0;
  if (date2 == null || date2.equals(""))
   return 0;
  // 转换为标准时间
  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
  java.util.Date date = null;
  java.util.Date mydate = null;
  try {
   date = myFormatter.parse(date1);
   mydate = myFormatter.parse(date2);
  } catch (Exception e) {
  }
  long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
  return day;
}

/**
  * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
  * 此函数返回该日历第一行星期日所在的日期
  *
  * @param sdate
  * @return
  */
public static String getNowMonth(String sdate) {
  // 取该时间所在月的一号
  sdate = sdate.substring(0, + "01";

  // 得到这个月的1号是星期几
  Date date = VeDate.strToDate(sdate);
  Calendar c = Calendar.getInstance();
  c.setTime(date);
  int u = c.get(Calendar.DAY_OF_WEEK);
  String newday = VeDate.getNextDay(sdate, (1 - u) + "");
  return newday;
}

/**
  * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数
  *
  * @param k
  *            表示是取几位随机数,可以自己定
  */

public static String getNo(int k) {

  return getUserDate("yyyyMMddhhmmss") + getRandom(k);
}

/**
  * 返回一个随机数
  *
  * @param i
  * @return
  */
public static String getRandom(int i) {
  Random jjj = new Random();
  // int suiJiShu = jjj.nextInt(9);
  if (i == 0)
   return "";
  String jj = "";
  for (int k = 0; k < i; k++) {
   jj = jj + jjj.nextInt(9);
  }
  return jj;
}

/**
  *
  * @param args
  */
public static boolean RightDate(String date) {

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  ;
  if (date == null)
   return false;
  if (date.length() > 10) {
   sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  } else {
   sdf = new SimpleDateFormat("yyyy-MM-dd");
  }
  try {
   sdf.parse(date);
  } catch (ParseException pe) {
   return false;
  }
  return true;
}

/***************************************************************************
  * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1
  * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回
  **************************************************************************/
public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateString = formatter.format(currentTime);
  String s_nd = dateString.substring(0, 4); // 年份
  String s_yf = dateString.substring(5, 7); // 月份
  String s_rq = dateString.substring(8, 10); // 日期
  String sreturn = "";
  roc.util.MyChar mc = new roc.util.MyChar();
  if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况
   if (nd.equals("1")) {
    sreturn = s_nd;
    // 处理间隔符
    if (format.equals("1"))
     sreturn = sreturn + "年";
    else if (format.equals("2"))
     sreturn = sreturn + "-";
    else if (format.equals("3"))
     sreturn = sreturn + "/";
    else if (format.equals("5"))
     sreturn = sreturn + ".";
   }
   // 处理月份
   if (yf.equals("1")) {
    sreturn = sreturn + s_yf;
    if (format.equals("1"))
     sreturn = sreturn + "月";
    else if (format.equals("2"))
     sreturn = sreturn + "-";
    else if (format.equals("3"))
     sreturn = sreturn + "/";
    else if (format.equals("5"))
     sreturn = sreturn + ".";
   }
   // 处理日期
   if (rq.equals("1")) {
    sreturn = sreturn + s_rq;
    if (format.equals("1"))
     sreturn = sreturn + "日";
   }
  } else {
   // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式
   sdate = roc.util.RocDate.getOKDate(sdate);
   s_nd = sdate.substring(0, 4); // 年份
   s_yf = sdate.substring(5, 7); // 月份
   s_rq = sdate.substring(8, 10); // 日期
   if (nd.equals("1")) {
    sreturn = s_nd;
    // 处理间隔符
    if (format.equals("1"))
     sreturn = sreturn + "年";
    else if (format.equals("2"))
     sreturn = sreturn + "-";
    else if (format.equals("3"))
     sreturn = sreturn + "/";
    else if (format.equals("5"))
     sreturn = sreturn + ".";
   }
   // 处理月份
   if (yf.equals("1")) {
    sreturn = sreturn + s_yf;
    if (format.equals("1"))
     sreturn = sreturn + "月";
    else if (format.equals("2"))
     sreturn = sreturn + "-";
    else if (format.equals("3"))
     sreturn = sreturn + "/";
    else if (format.equals("5"))
     sreturn = sreturn + ".";
   }
   // 处理日期
   if (rq.equals("1")) {
    sreturn = sreturn + s_rq;
    if (format.equals("1"))
     sreturn = sreturn + "日";
   }
  }
  return sreturn;
}

public static String getNextMonthDay(String sdate, int m) {
  sdate = getOKDate(sdate);
  int year = Integer.parseInt(sdate.substring(0, 4));
  int month = Integer.parseInt(sdate.substring(5, 7));
  month = month + m;
  if (month < 0) {
   month = month + 12;
   year = year - 1;
  } else if (month > 12) {
   month = month - 12;
   year = year + 1;
  }
  String smonth = "";
  if (month < 10)
   smonth = "0" + month;
  else
   smonth = "" + month;
  return year + "-" + smonth + "-10";
}

public static String getOKDate(String sdate) {
  if (sdate == null || sdate.equals(""))
   return getStringDateShort();

  if (!VeStr.Isdate(sdate)) {
   sdate = getStringDateShort();
  }
  // 将“/”转换为“-”
  sdate = VeStr.Replace(sdate, "/", "-");
  // 如果只有8位长度,则要进行转换
  if (sdate.length() ==
   sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6,;
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(sdate, pos);
  String dateString = formatter.format(strtodate);
  return dateString;
}

public static void main(String[] args) throws Exception {
  try {
   //System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));
  } catch (Exception e) {
   throw new Exception();
  }
  //System.out.println("sss");
}
}
分享到:
评论

相关推荐

    统一接口平台[JAVA] 用于时间的各种操作的java类,可以作为自己收藏

    统一接口平台[JAVA] 用于时间的各种操作的java类,可以作为自己收藏,里面含有各种时间操作,绝对好用

    Java时间日期处理相关文档收藏

    Java时间日期处理是Java开发中不可或缺的一部分,涉及到各种时间日期的操作,如获取当前时间、日期的格式化、日期的加减、日期比较等。在Java中,有多种类和API可以用于时间日期处理,包括`java.util.Date`、`java....

    java C++ 书籍收藏

    - Java Cryptography Extension(JCE)提供了一个框架和一系列用于加密操作的工具类,支持加密、密钥生成以及消息摘要等操作。 第二部分:Java高级特性 1. 反射 - 反射机制允许在运行时动态访问和修改类和对象的...

    收藏的JAVA面试题大全.doc

    Java中的类可以实现多个接口,但只能继承一个类,提供了比C++更灵活的设计方式。 3. 垃圾回收机制: Java的垃圾回收机制自动管理内存,避免内存泄漏。它主要分为两种类型:分代回收(如新生代、老年代等)、标记...

    JAVA 工具类集合,有自定义的,也有收藏的,以备项目使用.zip

    总的来说,这个"JAVA 工具类集合"压缩包是Java开发者的一个宝贵资源,它整合了作者的经验和智慧,为我们的编程工作提供了便利。对于初学者来说,通过学习和理解这些工具类的实现,可以加深对Java语言的理解,提高...

    开发工具类代码 java

    总的来说,"开发工具类代码 java" 是一个集实用性与教育性于一体的资源,它包含了Java开发中的常见问题解决方案和规范化的代码实现,值得开发者们收藏和学习。通过深入研究和应用这些工具类,可以提升个人的编程技能...

    一个Java 8+的LangChain实现。在(企业)Java环境中构建强大的基于LLM的应用程序.zip

    LangChain项目是一个利用这些新特性的实现,特别适用于在企业级Java环境中创建基于语言模型(LLM)的应用程序。这个项目的重点在于利用Java 8的函数式编程、流API以及Lambda表达式来构建灵活、可扩展且易于维护的...

    一个很好的JAVA图书管理系统

    Java图书管理系统是一款基于Java技术实现的高效、稳定且用户友好的图书信息管理软件。它集成了图书的录入、查询、修改、删除等多种功能,旨在为图书馆或个人图书收藏者提供方便快捷的图书管理服务。系统的界面设计...

    精品专题(2021-2022年收藏)JAVA处理日期时间常用方法.doc

    `java.util.Calendar`是一个抽象类,它提供了一种将日期和时间字段(如年、月、日、小时等)与特定瞬间(以毫秒为单位)之间转换的方法。例如,你可以创建一个`Calendar`实例,然后通过`add()`方法来增加或减少日期...

    java 面试题收藏

    ### Java面试题收藏:在用户最慢的网络环境下如何提高登录响应速度 #### 背景与挑战 在开发Web应用程序时,确保良好的用户体验至关重要。然而,在某些情况下,用户可能会处于非常缓慢的网络环境中,这可能导致应用...

    Java学习指南,好像是第四版更新,值得收藏。

    随着时间的推移,Java逐渐成为了服务器端和企业级应用程序的主要语言之一。 - **Java的设计理念**:Java的设计理念强调“一次编写,到处运行”(Write Once Run Anywhere, WORA),这意味着编写的Java程序可以在任何...

    Java API帮助文档

    Java API中的每个类都代表一个特定的概念或实体。理解类的构造、继承、封装和多态性是掌握Java API的关键。 3. **基础类型与包装类**: Java有八种基础数据类型,如int、char和boolean。为了支持面向对象的特性,...

    java中国象棋单机象棋休闲游戏值得收藏

    总的来说,制作一个Java中国象棋单机游戏涉及到多方面的编程知识,包括图形用户界面开发、数据结构、算法、文件操作以及人工智能。这个项目不仅可以作为个人娱乐,也可以作为提升编程技能的实践项目。对于喜欢象棋和...

    JAVA记事本源代码 收藏

    根据提供的文件信息,我们可以分析出该Java程序是一个简易的记事本应用,它包含了基本的文件操作、编辑功能以及一些额外的功能,如字体设置、颜色选择等。下面将对该源代码涉及的关键知识点进行详细的解析。 ### 一...

    收藏的一些关于java的书籍

    其次,关于“Java 8”的内容,Java 8是Java历史上一个重要的版本,引入了许多创新特性,对开发方式产生了深远影响。可能包含的知识点有: 1. 函数式编程:Java 8引入了Lambda表达式和函数接口,大大简化了函数式...

    关于动态规划求最大子段和的Java代码写法

    然后,我们定义了一个 `MaxSum` 类,其中包括了 `maxsum` 方法和 `main` 方法。 在 `maxsum` 方法中,我们使用动态规划算法来计算最大子段和。我们首先创建了两个 `ArrayList` 对象 `a` 和 `b`,其中 `a` 是原始...

    java开发学习工具,必须收藏

    在学习Java的过程中,EditPlus可以作为一个轻量级的IDE使用,它的简洁和高效使其成为很多开发者首选的文本编辑器。然而,随着技术的发展,现在许多开发者转向了如IntelliJ IDEA、Eclipse或NetBeans等专业Java集成...

    Java几种常见的排序算法(经典收藏)

    具体来说,如果当前元素小于其前一个元素,则交换它们的位置,直到当前元素不再小于其前一个元素或到达数组起始位置为止。 ### 冒泡排序(Bubble Sort) 冒泡排序也是一种简单的排序算法,通过重复地遍历待排序的...

    纯java项目的发布(文档+jar包)

    3. **Fat JAR**:为了使JAR文件可以直接运行,通常需要将所有依赖的库文件合并到一个“Fat JAR”中。这可以通过Maven的Shade插件或Gradle的Shadow插件实现。这样,用户只需双击JAR文件即可运行Java应用。 4. **Java...

Global site tag (gtag.js) - Google Analytics