- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一个 Java 初学者,我一直在制作简单的测试程序来复习我读过的一些 Material 。以下代码块工作不正确。它应该接受用户的年、月和日期,然后创建一个用年、月和日期初始化的 GregorianCalendar 对象。但是,当我尝试返回 GregorianCalendar 变量的月份时,它总是返回我初始化月份变量的月份。我不知道为什么。
import java.util.*;
public class Prac {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter Year: ");
int YEAR = input.nextInt();
System.out.print("Enter Month: ");
String MONTH_STRING = input.next();
System.out.print("Enter Date: ");
int DATE = input.nextInt();
int MONTH = 10;
String mon = MONTH_STRING.toLowerCase();
if (mon == "january") {
MONTH = 0;
} else if (mon == "february") {
MONTH = 1;
} else if (mon == "march") {
MONTH = 2;
} else if (mon == "april") {
MONTH =3;
} else if (mon == "may"){
MONTH =4;
} else if (mon == "june"){
MONTH =5;
} else if (mon == "july"){
MONTH =6;
} else if (mon == "august"){
MONTH=7;
} else if (mon == "september"){
MONTH=8;
} else if (mon == "october"){
MONTH=9;
} else if (mon == "november"){
MONTH=10;
} else if (mon == "december"){
MONTH =11;
}
GregorianCalendar entDate = new GregorianCalendar(YEAR,MONTH,DATE);
System.out.println(entDate.get(Calendar.MONTH));
}
}
另外,我知道我可以使用开关 block ,但它以某种方式给我带来了奇怪的错误。
最佳答案
字符串.equals
您比较字符串的方式不正确。
==
运算符检查对象是否相同——这意味着相同的内存位置和所有内容。
你想做的是String::equals
方法。
if(mon.equals("january") {
...
} else if(mon.equals("feburary") {
...
} ...
这只会检查字符串的值是否相等。
此外,除非您使用 java 1.7+,否则您将无法对字符串使用 switch case。虽然不是问题的一部分,但还是很高兴知道。
关于java - 未能初始化 GregorianCalendar 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12288638/
我正在使用 CMIS 和 Java,我从文档加载所有属性并将它们写入 xml 文件。 我使用 Object.toString() 方法在 xml 文件中创建文本节点。因此我使用 .toString()
对于以下代码片段 GregorianCalendar a = new GregorianCalendar(2009, 11, 10); System.out.println(a.getTime());
我在一个文本文件中有以下数据,稍后我将扫描该文件。 17-Mar-2006 1100 1280 16-Jan-2002 1120 1230 15-Jun-2003 1140 1900 我正在将此数据构
这个问题已经有答案了: "EEE MMM dd HH:mm:ss ZZZ yyyy" date format to java.sql.Date (2 个回答) 已关闭 4 年前。 我是 Java 新手
我在使用 GregorianCalendar 时遇到问题,因此请您帮我解决一下。首先我会给你我的代码: private String changeClock(String day, String cl
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎偏离主题,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或 include a mini
这个问题已经有答案了: why do I get wrong month when parsing with java calendar (3 个回答) 已关闭5 年前。 我有下面的代码,我试图在其中
好的。 calendar.get(Calendar.MONTH); 返回当前月份的索引。例如,如果现在执行这行代码,它将返回 August 的 7。 但是 calendar.get(Calendar.
当我像这样使用 GregorianCalendar 实例化新日期时: GregorianCalendar myCal = new GregorianCalendar(29,5,2011); 然后,最后
java 6.0 假设今天是:2018 年 8 月 8 日 此处方法返回 2 个日期的月差。 public static Integer getDiffMonths(Date dateFrom
我在 Java 中使用 GregorianCalendar 类时遇到问题。为什么 get 方法会更改我的 GregorianCalendar 类型的变量? 我从事这项工作: System.out.pr
我尝试将字符串转换为 GregorianCalendar,然后检查它。下面,我发布我的代码。我真的很困惑为什么字段看起来不对。非常感谢您的帮助。 public class test{ priv
java.util.GregorianCalendar 是轻量级对象吗?换句话说,在 Web 应用程序设置中使用每个请求调用构造函数只会带来微不足道的性能损失,还是缓存对象的副本以供应用程序共享使用是
我的程序中有这段代码: if (expire.after(start) && expire.before(end)) //do somethig 但是这段代码不包含绑定(bind)日期。我的意
这个问题已经有答案了: How to sanity check a date in Java (25 个回答) 已关闭 7 年前。 GregorianCalendar构造函数有签名: Gregoria
我想计算一年中特定周数的星期一。我是这样做的: final GregorianCalendar calendar = new GregorianCalendar(Locale.GERMANY); ca
出现此错误,JSP 页面变为空白(白色): Jan 9, 2013 7:30:39 PM org.apache.catalina.loader.WebappClassLoader clearThrea
我正在尝试设置 HOUR_OF_DAY 字段并更改 GregorianCalendar 日期对象的时区。 GregorianCalendar date = new GregorianCalendar(
虽然我阅读了很多关于日历和公历的内容,但仍然会出现一些复杂情况。哪个更好或者您可以推荐使用什么?我无法弄清楚其中的区别。 GregorianCalendar gc = (GregorianCalend
TimeZone utcTimezone_ = TimeZone.getTimeZone("UTC"); TimeZone _utc = TimeZone.getTimeZone("Zulu"); D
我是一名优秀的程序员,十分优秀!