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

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

第1个回答  2023-10-25
感谢您对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课程试听名额限时领取官网在线咨询lylegend13
推荐于2017-11-24·TA获得超过4695个赞知道大有可为答主回答量:采纳率:0%帮助的人:1636万我也去答题访问个人页你好,按照你的要求,代码如下

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;
}
}
直接拷到一个类文件里面 运行 就可以看到结果,希望对你有用!
相似回答