Java编程,输入日期输出星期。

简单些,易懂些。因为处理日期的类还没学,不太会,请加注释。

感谢您对Java编程的关注以及对千锋教育的关注。作为一家专注于IT互联网技术培训的机构,千锋教育致力于帮助学员获得实际应用能力并成功就业。以下是关于这个问题的回答:更系统全面的学习资料,点击查看

在Java编程中,输入日期输出星期是一个常见的需求。虽然这个功能涉及到日期处理和计算的知识,但对于有一定编程基础的学员来说,并不是特别困难。

Java提供了日期和时间处理的相关类库,例如java.util.Date和java.util.Calendar等。通过使用这些类库,结合一些日期计算的逻辑,就可以实现输入日期输出星期的功能。

具体的实现步骤如下:
1. 获取用户输入的日期信息。
2. 使用SimpleDateFormat类将用户输入的字符串转换为Date对象。
3. 使用Calendar类获取该日期对应的星期数,注意星期在Calendar类中是从1开始计数的,需要进行相应的转换。
4. 根据星期数输出相应的星期名称。

尽管这个功能在Java编程中并不是最复杂的部分,但对于初学者来说可能还是需要一定的时间和练习才能掌握。这需要学员对Java基础语法和日期处理相关的知识有一定的了解。

千锋教育作为一家专注于IT互联网技术培训的机构,我们提供全面的Java编程培训支持。我们的Java编程课程从基础知识到高级应用都有涵盖,包括语法基础、面向对象编程、数据结构与算法、数据库开发、Web开发等。我们的课程由经验丰富、技术娴熟的讲师团队授课,结合了理论知识和实际项目实践,旨在帮助学员快速掌握核心技术和实际应用能力。

千锋教育还提供个性化的学习支持。我们了解每个学员的学习背景和学习目标,制定个性化的学习计划和指导,帮助学员高效地学习和成长。我们还与众多优秀企业进行合作,为学员提供实习和就业机会,帮助他们顺利进入Java开发领域的工作岗位。

选择千锋教育进行Java编程培训可以为您提供优质的教学内容、个性化的学习支持和职业发展机会。我们一直致力于为学员提供全面的技术培训和职业发展机会,帮助他们在IT行业取得成功。

如果您对千锋教育的Java编程培训课程或其他课程感兴趣,我们欢迎您来了解更多详细信息并报名参加我们的课程。让我们一起助力您在职业道路上取得成功。千锋IT培训机构,热门IT课程试听名额限时领取
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
你好,按照你的要求,代码如下

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class test {
public static void main(String[] args) {

String[] day = new String[] { "日", "一", "二", "三", "四", "五", "六" };

DateFormat df = new SimpleDateFormat("yyyyMMdd");// 输入的日期格式必须是这种
Scanner s = new Scanner(System.in);
while (true) {
System.out.println("输入一个日期,格式是20120101");
try {
Date d = df.parse(s.nextLine());// 把字符串转化成日期
System.out.println("星期" + day[d.getDay()]);
} catch (ParseException e) {
System.out.println("输入不合法");
}
}
}
}

运行结果:

输入一个日期,格式是20120101
20111123
星期三
输入一个日期,格式是20120101
2011
输入不合法
输入一个日期,格式是20120101追问

parse是什么用法,不理解。
day[d.getDay()])是什么意思,

追答

你好,parse你用指定的日期格式,来把字符串转换成日期

day[d.getDay()])里,先说内层,d.getDay()是获得日期d的星期,不过它是用数字表示的,所以我们有数组day[],正好对应索引,来找到对应的“日”、"一“这样的字符串

本回答被提问者采纳
第2个回答  2011-11-23
以下摘自java-doc中
Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text Tuesday; Tue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800

// 实现给定某日期,判断是星期几,想要格式成其他的话,参照上面的数据,修改我注释的那行。输入的参数是一个字符串类型的参数,如“2011-10-10”
public static String getWeekday(String date){//必须yyyy-MM-dd
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdw = new SimpleDateFormat("E"); //这里面填什么参考上面的数据
Date d = null;
try {
d = sd.parse(date);
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace();
}
return sdw.format(d); //把日期进行格式化
}
第3个回答  2011-11-23
new Date(int year, int month, int day).getDay();
用year month day构造一个日期,利用get Day()就可以返回星期了
第4个回答  2011-11-23
package LX1;

import java.util.Date;

public class mtxqLX {
public static void main(String[] args) {
//比如说使用今天 当前日期
Date today = new Date();
System.out.println(getXq(today));
}

static String getXq(Date d){
String xingqi = "";
//调用Date类中的getDay()方法
if (d.getDay()==1){
xingqi = "星期一";
}
if (d.getDay()==2){
xingqi = "星期二";
}
if (d.getDay()==3){
xingqi = "星期三";
}
if (d.getDay()==4){
xingqi = "星期四";
}
if (d.getDay()==5){
xingqi = "星期五";
}
if (d.getDay()==6){
xingqi = "星期六";
}
if (d.getDay()==0){
xingqi = "星期日";
}
return xingqi;
}
}
直接拷到一个类文件里面 运行 就可以看到结果,希望对你有用!

Java编程,输入日期输出星期。
具体的实现步骤如下:1. 获取用户输入的日期信息。2. 使用SimpleDateFormat类将用户输入的字符串转换为Date对象。3. 使用Calendar类获取该日期对应的星期数,注意星期在Calendar类中是从1开始计数的,需要进行相应的转换。4. 根据星期数输出相应的星期名称。尽管这个功能在Java编程中并不是最复杂的部分,...

java怎样通过日期获取星期几?
1、使用Calendar类\\x0d\\x0a\/**\\x0d\\x0a* 获取当前日期是星期几\\x0d\\x0a*\\x0d\\x0a* @param dt\\x0d\\x0a* @return 当前日期是星期几\\x0d\\x0a*\/\\x0d\\x0apublic static String getWeekOfDate(Date dt) {\\x0d\\x0aString[] weekDays = {"星期日", "星期一", "星期二"...

java,写类Time(显示当地时间),Date(输入一个日期推算星期几)
Scanner input = new Scanner(System.in);System.out.println("请输入时间(格式为yyyy-MM-dd):");String nd = input.next();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");\/\/格式可以自己控制 try{ Date date = sdf.parse(nd);System.out.println("今天是星期"+date.getDay...

java怎么通过日期获取星期几
1、使用Calendar类 \/ 获取当前日期是星期几 param dt return 当前日期是星期几 \/ public static String getWeekOfDate(Date dt) { String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};Calendar cal = Calendar.getInstance();cal.setTime(dt...

请问java中用for循环如何做这道题? 输入年,月,日,输出星期几。(已知...
java中一个日期减去另一个日期得到的是毫秒数的值。所以你想得到从1900.1.1到你输入的日子有多少天必须自己实现。我简单写了个。有些显示问题你自己在整理下。public static void calculate(int y,int m,int d){ \/\/用你给定的年,月,日初始化一个Date对象 Date d1 = new Date(y,m,d);\/...

java中如何获取日期时间中的星期几?
\/\/根据日期取得星期几 public static String getWeek(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("EEEE");String week = sdf.format(date);return week;} 注:格式化字符串存在区分大小写 对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月...

java,写类Time(显示当地时间),Date(输入一个日期推算星期几)
Scanner input = new Scanner(System.in);System.out.println("请输入时间(格式为yyyy-MM-dd):");String nd = input.next();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");\/\/格式可以自己控制 try{ Date date = sdf.parse(nd);System.out.println("今天是星期"+date.getDay...

java 怎么根据一天的时间得到一周的时间
String[] weeks = new String[7];\/\/返回的这周的日期 String[] a = date.split("-");int week = getDayOfWeek(a[0], a[1], a[2]);\/\/获取周几 int minWeek = 0;int maxWeek = 7;String format = "yyyy-MM-dd";if(week == 1){\/\/如果是周日(老外是从周日开始算一周,所以...

编写Java程序。当以年月日的格式输入一个日期时,输出该年是否是闰年,该...
public static void main(String[] args) throws ParseException {System.out.println("输入一个日期");Scanner input=new Scanner(System.in);String day=input.nextLine();SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd");Date date=a.parse(day);Calendar c=Calendar.getInstance();\/\/设置...

【高手帮助】怎样输入一个日期,得到这个日期是星期几?
import java.util.Calendar;public class GetWeekSample { \/ param args \/ public static void main(String[] args) { \/\/ 测试用的年月 int year = 2008;int month = 4;\/\/ 取得月末的日期,即这个月有多少天 Calendar cl = Calendar.getInstance();cl.set(year, month, 0);int endday = ...

相似回答