十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对于对着课本自学的新手而言,此时还没有接触到数组,所以,我给出利用switch嵌套的代码如下,结果是一样的,
创新互联建站专注于潢川网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供潢川营销型网站建设,潢川网站制作、潢川网页设计、潢川网站官网定制、小程序开发服务,打造潢川网络公司原创品牌,更为您提供潢川网站排名全网营销落地服务。
package demo2_2;
import java.util.Scanner;
public class YuCe_2 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("输入数字: ");
int iTodays = sc.nextInt();
System.out.println("输入另一个数字: ");
int iElap = sc.nextInt();
int iNextDay = (iElap + iTodays) % 7;
switch (iNextDay) {
case 0:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周日");break;
case 1: System.out.println("今天周一" + iElap + " 天后周日");break;
case 2: System.out.println("今天周二" + iElap + " 天后周日");break;
case 3: System.out.println("今天周三" + iElap + " 天后周日");break;
case 4: System.out.println("今天周四" + iElap + " 天后周日");break;
case 5: System.out.println("今天周五" + iElap + " 天后周日");break;
case 6: System.out.println("今天周六" + iElap + " 天后周日");break;
}
break;
case 1:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周一");break;
case 1: System.out.println("今天周一" + iElap + " 天后周一");break;
case 2: System.out.println("今天周二" + iElap + " 天后周一");break;
case 3: System.out.println("今天周三" + iElap + " 天后周一");break;
case 4: System.out.println("今天周四" + iElap + " 天后周一");break;
case 5: System.out.println("今天周五" + iElap + " 天后周一");break;
case 6: System.out.println("今天周六" + iElap + " 天后周一");break;
}
break;
case 2:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周二");break;
case 1: System.out.println("今天周一" + iElap + " 天后周二");break;
case 2: System.out.println("今天周二" + iElap + " 天后周二");break;
case 3: System.out.println("今天周三" + iElap + " 天后周二");break;
case 4: System.out.println("今天周四" + iElap + " 天后周二");break;
case 5: System.out.println("今天周五" + iElap + " 天后周二");break;
case 6: System.out.println("今天周六" + iElap + " 天后周二");break;
}
break;
case 3:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周三");break;
case 1: System.out.println("今天周一" + iElap + " 天后周三");break;
case 2: System.out.println("今天周二" + iElap + " 天后周三");break;
case 3: System.out.println("今天周三" + iElap + " 天后周三");break;
case 4: System.out.println("今天周四" + iElap + " 天后周三");break;
case 5: System.out.println("今天周五" + iElap + " 天后周三");break;
case 6: System.out.println("今天周六" + iElap + " 天后周三");break;
}
break;
case 4:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周四");break;
case 1: System.out.println("今天周一" + iElap + " 天后周四");break;
case 2: System.out.println("今天周二" + iElap + " 天后周四");break;
case 3: System.out.println("今天周三" + iElap + " 天后周四");break;
case 4: System.out.println("今天周四" + iElap + " 天后周四");break;
case 5: System.out.println("今天周五" + iElap + " 天后周四");break;
case 6: System.out.println("今天周六" + iElap + " 天后周四");break;
}
break;
case 5:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周五");break;
case 1: System.out.println("今天周一" + iElap + " 天后周五");break;
case 2: System.out.println("今天周二" + iElap + " 天后周五");break;
case 3: System.out.println("今天周三" + iElap + " 天后周五");break;
case 4: System.out.println("今天周四" + iElap + " 天后周五");break;
case 5: System.out.println("今天周五" + iElap + " 天后周五");break;
case 6: System.out.println("今天周六" + iElap + " 天后周五");break;
}
break;
case 6:
switch(iTodays) {
case 0: System.out.println("今天周日" + iElap + " 天后周六");break;
case 1: System.out.println("今天周一" + iElap + " 天后周六");break;
case 2: System.out.println("今天周二" + iElap + " 天后周六");break;
case 3: System.out.println("今天周三" + iElap + " 天后周六");break;
case 4: System.out.println("今天周四" + iElap + " 天后周六");break;
case 5: System.out.println("今天周五" + iElap + " 天后周六");break;
case 6: System.out.println("今天周六" + iElap + " 天后周六");break;
}
break;
}
}
}
使用Calender类很容易啊。。。。给你代码:
input.jsp:
%@page contentType="text/html" pageEncoding="UTF-8"%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
""
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
titleJSP Page/title
/head
body
form action="showDate" method="post"
请输入日期 input type="text" name="year" value="" size="4" /-
input type="text" name="month" value="" size="2" /-
input type="text" name="date" value="" size="2" /
input type="submit" value="确定" /
/form
/body
/html
servlet(showDate.java):
package cliff;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class showDate extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String year, month, date;
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
year = request.getParameter("year");
month = request.getParameter("month");
date = request.getParameter("date");
//根据得到的请求参数,构建一个Calendar
Calendar c = Calendar.getInstance();
// 注意月份的起始值为0而不是1,所以要设置八月时,我们用7而不是8
c.set(Integer.parseInt(year), Integer.parseInt(month) - 1, Integer.parseInt(date));
//得到输入的日期是一周的第几天
int dow = c.get(Calendar.DAY_OF_WEEK);
//得到一周的第一天,也就是星期天的日期
c.add(Calendar.DATE, dow - 7);
out.println("得到的一周日期为");
for (int i = 0; i 7; i++) {
out.print(c.get(Calendar.DATE) + " ");
//继续使用Calendar的目的是为了防止跨月份的情况出现
c.add(Calendar.DATE, 1);
}
} finally {
out.close();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
public String getServletInfo() {
return "cliff's showDate servlet";
}// /editor-fold
}
功能达到,收工!
另:为了简便,这里面没有对错误输入进行处理。应该判断输入的是不是合法的年月日。。。。
有两种方法:
方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码:
import java.util.*;
import java.text.*;
//以下默认时间日期显示方式都是汉语语言方式
//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53
//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.java
public class TestDate {
public static void main(String[] args) {
Date now = new Date();
Calendar cal = Calendar.getInstance();
DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53)
String str1 = d1.format(now);
DateFormat d2 = DateFormat.getDateTimeInstance();
String str2 = d2.format(now);
DateFormat d3 = DateFormat.getTimeInstance();
String str3 = d3.format(now);
DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间
String str4 = d4.format(now);
DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒)
String str5 = d5.format(now);
DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒)
String str6 = d6.format(now);
DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分)
String str7 = d7.format(now);
DateFormat d8 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //显示日期,时间(精确到分)
String str8 = d8.format(now);//与SHORT风格相比,这种方式最好用
System.out.println("用Date方式显示时间: " + now);//此方法显示的结果和Calendar.getInstance().getTime()一样
System.out.println("用DateFormat.getDateInstance()格式化时间后为:" + str1);
System.out.println("用DateFormat.getDateTimeInstance()格式化时间后为:" + str2);
System.out.println("用DateFormat.getTimeInstance()格式化时间后为:" + str3);
System.out.println("用DateFormat.getInstance()格式化时间后为:" + str4);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化时间后为:" + str5);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化时间后为:" + str6);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化时间后为:" + str7);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化时间后为:" + str8);
}
}
运行结果:
用Date方式显示时间: Mon Jun 16 20:54:53 CST 2008
用DateFormat.getDateInstance()格式化时间后为:2008-6-16
用DateFormat.getDateTimeInstance()格式化时间后为:2008-6-16 20:54:53
用DateFormat.getTimeInstance()格式化时间后为:20:54:53
用DateFormat.getInstance()格式化时间后为:08-6-16 下午8:54
用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化时间后为
:2008年6月16日 星期一 下午08时54分53秒 CST
用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化时间后为
:2008年6月16日 下午08时54分53秒
用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化时间后
为:08-6-16 下午8:54
用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化时间
后为:2008-6-16 20:54:53
方法二:用java.util.Calendar类来实现,看下面:
import java.util.*;
import java.text.*;
//以下是利用Calendar类来实现日期时间的,和Date类相比较比较简单
public class TestDate2 {
public static void main(String[] args) {
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR);//获取年份
int month=ca.get(Calendar.MONTH);//获取月份
int day=ca.get(Calendar.DATE);//获取日
int minute=ca.get(Calendar.MINUTE);//分
int hour=ca.get(Calendar.HOUR);//小时
int second=ca.get(Calendar.SECOND);//秒
int WeekOfYear = ca.get(Calendar.DAY_OF_WEEK);
System.out.println("用Calendar.getInstance().getTime()方式显示时间: " + ca.getTime());
System.out.println("用Calendar获得日期是:" + year +"年"+ month +"月"+ day + "日");
System.out.println("用Calendar获得时间是:" + hour +"时"+ minute +"分"+ second +"秒");
System.out.println(WeekOfYear);//显示今天是一周的第几天(我做的这个例子正好是周二,故结果显示2,如果你再周6运行,那么显示6)
}
}
运行结果是:
用Calendar.getInstance().getTime()方式显示时间: Mon Jun 16 21:54:21 CST 2008
用Calendar获得日期是:2008年5月16日
用Calendar获得时间是:9时54分21秒
2
总结:中的来说,方法二是最方便的,方法一显得分笨拙,不过看个人喜欢了。
还有一种方法利用System.currentTimeMillis()也可以。
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class TestDate {
public static final String[] weeks = { "日", "一", "二", "三", "四", "五", "六" };
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR,2011);//2011年
c.set(Calendar.MONTH,0);//java中Calendar类,月从0开始, 0代表一月
c.set(Calendar.DATE,1);//1号
int day = c.get(Calendar.DAY_OF_WEEK);//获致是本周的第几天地, 1代表星期天...7代表星期六
System.out.println(new SimpleDateFormat( "yyyy-MM-dd ").format(c.getTime()));
System.out.println("星期" + weeks[day-1]);
}
}
可以使用java.util.Calendar来取得相关日期信息,下面给个示例供参考:
Java代码:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateDemo {
static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) throws ParseException {
String date = "2011-04-25 22:28:30";
System.out.println(date);
System.out.println("年份:" + getYear(date));
System.out.println("月份:" + getMonth(date));
System.out.println("日期:" + getDay(date));
System.out.println("月初日期是: " + getMinMonthDate(date));
System.out.println("月末日期是: " + getMaxMonthDate(date));
}
/**
* 获取日期年份
* @param date
* @return
* @throws ParseException
*/
public static int getYear(String date) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse(date));
return calendar.get(Calendar.YEAR);
}
/**
* 获取日期月份
* @param date
* @return
* @throws ParseException
*/
public static int getMonth(String date) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse(date));
return (calendar.get(Calendar.MONTH) + 1);
}
/**
* 获取日期号
* @param date
* @return
* @throws ParseException
*/
public static int getDay(String date) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse(date));
return calendar.get(Calendar.DAY_OF_MONTH);
}
/**
* 获取月份起始日期
* @param date
* @return
* @throws ParseException
*/
public static String getMinMonthDate(String date) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse(date));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
return dateFormat.format(calendar.getTime());
}
/**
* 获取月份最后日期
* @param date
* @return
* @throws ParseException
*/
public static String getMaxMonthDate(String date) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse(date));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return dateFormat.format(calendar.getTime());
}
}
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;
public class DateTest {
/**
* 判断是否在同一个月
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return false:不在同一个月内,true在同一个月内
*/
public static boolean isMonth(String startDate,String endDate){
if(margin(startDate, endDate)31){
return false;
}
int startMonth = Integer.parseInt(startDate.substring(5, 7));
int endMonth = Integer.parseInt(endDate.substring(5, 7));
if(startMonth==endMonth){
return true;
}else{
return false;
}
}
/**
* 计算开始日期和结束日期差
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
private static int margin(String startDate,String endDate){
ParsePosition pos = new ParsePosition(0);
ParsePosition pos2 = new ParsePosition(0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date ds = sdf.parse(startDate, pos);
Date de = sdf.parse(endDate, pos2);
long l = de.getTime()-ds.getTime();
int margin = (int)(l/24*60*60*1000);
return margin;
}
/**
* main方法测试
* @param args
*/
public static void main(String[] args) {
System.out.println(DateTest.isMonth("2014-10-17", "2014-10-25"));
System.out.println(DateTest.isMonth("2014-10-17", "2014-12-25"));
}
}