我有两个 int
变量 monthFrom
和 monthUntil
代表一个时间间隔。我想编写一个方法来查找是否有任何冬季月份与此间隔重叠。例如,如果 monthFrom == 3
、monthUntil == 5
,则该方法将返回 false
,如果 monthFrom == 2
, monthUntil == 8
- true
, if monthFrom == 10
, monthUntil== 3
- true
,等等。
作为 Java 初学者,我不知道该怎么做。有什么帮助吗?
最佳答案
乔,我的代码可以帮助您解决问题。 我使用 HashMap Collection 来存储月份的值,因为它包含与值(即月份名称)相对应的固定月份数。
在下面找到我的代码
public class FindWinterMonth {
HashMap<Integer, String> months = null;
public FindWinterMonth() {
months = new HashMap<Integer, String>();
months.put(10, "October");
months.put(11, "November");
months.put(12, "December");
months.put(1, "January");
months.put(2, "Febuary");
}
public boolean isWinterMonth(int monthFrom, int monthUntil){
boolean isPresent = false;
for(int i = monthFrom; i <= monthUntil; i++){
if(months.containsKey(i)){
isPresent = true;
}
}
return isPresent;
}
public static void main(String[] args) {
FindWinterMonth fm = new FindWinterMonth();
boolean isWinter = fm.isWinterMonth(4,9);
System.out.println(isWinter);
}
}
我相信它会对您有所帮助,如果有人有好的、高效的解决方案,请与我们分享。 谢谢!
关于java - Java中int月份之间的间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41345293/