- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一个非常业余的编码员,他似乎无法解决从用户输入的整数中获取星期几(例如星期日、星期一等)的问题。我只是想给用户一条消息,其中列出了 (mm/dd/yyyy, dayOfWeek),但我没有改变星期几,而是不断得到星期三作为星期几的答案,无论我在里面放什么提示框。我只是需要一个新的方向。我的代码或我没有看到的途径有任何错误吗?任何帮助将不胜感激。
public static void main(String [] args)
{
Scanner user_input = new Scanner (System.in);
String returnValue = "";
int month2=0;
int day2=0;
int year2=0;
GregorianCalendar userbirthday = new GregorianCalendar(year2, month2, day2);
int userweekday=userbirthday.get(Calendar.DAY_OF_WEEK);
String usermonth;
System.out.print ("What month is your birthday?");
usermonth = user_input.next();
String userday;
System.out.print ("What day is your birthday?");
userday = user_input.next();
String useryear;
System.out.print ("What year was your birth?");
useryear = user_input.next();
year2 = Integer.parseInt(useryear);
month2 = Integer.parseInt(usermonth);
day2 = Integer.parseInt(userday);
String dayOfTheWeek = "";
if(month2 == 0){
System.out.println("That's not a valid birthday! Check your month.");
System.exit(0);
} else if (month2>=13){
System.out.println("That's not a valid birthday! Check your month.");
System.exit(0);
}
if(day2 == 0){
System.out.println("That's not a valid birthday! Check your day.");
System.exit(0);
} else if (day2>=32){
System.out.println("That's not a valid birthday! Check your day.");
System.exit(0);
}
if(userweekday == 2){
dayOfTheWeek= "Mon";
} else if (userweekday==3){
dayOfTheWeek = "Tue";
} else if (userweekday==4){
dayOfTheWeek = "Wed";
} else if (userweekday==5){
dayOfTheWeek = "Thu";
} else if (userweekday==6){
dayOfTheWeek = "Fri";
} else if (userweekday==7){
dayOfTheWeek = "Sat";
} else if (userweekday==1){
dayOfTheWeek = "Sun";
}
String birthdate = month2 + "/" + day2 + "/" + year2 + "," + dayOfTheWeek;
System.out.println ("Your birthday was" + " " + birthdate);
}
最佳答案
你做事的顺序错了。正如您在问题中的代码所代表的那样,发生了以下情况:
month2
、day2
和 year2
初始化为 0。GregorianCalendar
对象。这给你星期三,12 月 31 日公元前 2 年(没有 0 年,所以你设置为 1 月 0 日公元前 1 年,等于公元前 2 年的 12 月 31 日——令人困惑,但对于 GregorianCalendar
来说,这是事实)。然后,您将星期几放入 userweekday
(始终等于 Calendar.WEDNESDAY
)。year2 = Integer.parseInt(useryear);
等行中,您将用户输入分配给变量。这不会影响您已经创建的 GregorianCalendar
对象,也不会影响已经从该 GregorianCalendar
获得的星期几。因此将始终打印星期三。
顺便说一句,GregorianCalendar
类早已过时并且存在设计问题。在其他问题中,它通常需要冗长的代码,这也很容易出错。它以意想不到的方式计算月份。相反,我建议您使用现代 Java 日期和时间 API java.time 中的 LocalDate
。
LocalDate // Represent a date-only value, without time-of-day, without time zone.
.of( y , m , d ) // Specify year-month-day, 1-12 for January-December.
.getDayOfWeek() // Extract a `DayOfWeek` enum object representing one of seven days of the week.
.getDisplayName( // Automatically localize the text of the name of the day of the week.
TextStyle.SHORT , // Specify how long or abbreviated.
Locale.US // Locale determines the human language and cultural norms used in localizing.
)
链接: Oracle tutorial: Date Time解释如何使用 java.time
。
关于java - 公历 : Getting a user's (day_of_the_week) from their own birthday input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52661046/
蛋糕不仅需要美味,外观也很重要。既好吃又好看的蛋糕才能够让人赏心悦目,送上一组好看的生日蛋糕图片给大家,希望你们会喜欢。
这是我的文件: { "user" : { "name" : "test", "birthday" : "123" } } 当我将其发布到elasticsearch时,出现了错误
根据 Facebook 文档,请求生日数据是通过请求 user_birthday 权限集完成的,然后生日字符串存储在返回数组中的 birthday 下。 它以什么格式返回,格式是否根据用户设置而变化?
我已经尝试过使用嵌套循环来解决这个问题,但是如何在不使用嵌套循环且在同一类文件中的情况下解决它。问题是求一组中两个人生日相同的概率。它应该产生以下输出:在 5 个人的小组和 10000 次模拟中,概率
我有一个 date() mysql 中的列,它在 mysql 的 YYYY-MM-DD 中具有出生日期格式: $table->date('dob')->nullable(); 我正在尝试查询此表,以便
我正在尝试提取生日以获取使用 Facebook 登录我的页面的用户的年龄。我一直尝试使用我的个人资料登录,但它给了我错误的年龄。下面是我在 process_facebook.php 中的代码(我有一个
我正在用 html、AngularJS 和 REST 编写一个 Web 应用程序(其余部分为我的老师修改)。我的程序应该在开头的选择中加载参与者。但显示的是 {{participants.name}}
尝试用 python 编写生日程序。作为 Python 的初学者,我遇到了一些麻烦。 duplicates(l) 函数接受列表 l,如果它有重复元素则返回 True,否则返回 False。 函数 te
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 已关闭8
在我的 C# EWS 应用程序中,我拉取了一个特定的联系人并获取了他们的属性。我在 contact.birthday 挂断电话。我可能会对其他日期时间字段有同样的问题,所以这将有助于用一 block
处理联系人生日和周年纪念日: 我得到这样的详细信息和生日 12.2.2012 或 12/2/2012 或 12-02-2012 或 2/12/12 问题: 所有三星手机的日期格式是否相同。如果是,日期
我有一张员工生日表。我正在尝试创建一个存储过程,在 2 个给定日期内返回每个人的生日。我们有闰年出生的员工。 按照 http://www.berezniker.com/content/pages/sq
我是一个非常业余的编码员,他似乎无法解决从用户输入的整数中获取星期几(例如星期日、星期一等)的问题。我只是想给用户一条消息,其中列出了 (mm/dd/yyyy, dayOfWeek),但我没有改变星期
我希望能够返回从现在到指定时间间隔的生日的用户。 用户模型 姓名(字符串) 生日(日期) 我的时间间隔 = 30 天 我的数据集 |---------------------|------------
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
我有一个表“users”,其中有一列“date_of_birth”(DATE 格式,包含日、月、年)。在前端,我需要列出 5 个即将到来的生日。 花了很长时间试图找出逻辑..也浏览了谷歌中所有可能的文
我们试图让一个字段看起来像“联系人”应用的“创建新联系人”屏幕上的“日期”字段。我们不知道这是 Spinner、Button、EditText 还是如何在不重新发明轮子的情况下获得这种行为。 我们尝试
当用户选择月、日和年时,如何自动计算年龄。我有一个代码可以自动计算年龄。但我想拥有而不是输入。请帮我解决这个问题:( 这是我的输入 type="date" 这是我的 Jquery $("#date
我正在尝试编写一个 PHP 脚本来查询 MySql 数据库并返回生日日期字段在接下来的 30 天内的条目。我能够做到这一点,但我需要在进行查询时从生日日期中排除年份。例如,如果今天的日期是 7/10/
如何创建检查生日输入以匹配像这样的 dd/mm/yyyy 格式的表达式?以下是我到目前为止得出的结果,但如果我输入 99/99/9999,它也会用这个! if (!preg_match("/[0-9]
我是一名优秀的程序员,十分优秀!