代码-JAVA中如何计数或如何进行标记

问题描述

JAVA中如何计数或如何进行标记

例如我要计算出2015-1900,年之间所有闰年的个数或标记出闰年,该利用哪些代码完成

解决方案

public class SelectSort {
public static void main(String[] args) throws IOException{
for (int i = 1900; i <= 2015; i++) {
if(i%100==0){
if(i%400==0){
System.out.println(i+"是闰年");
}
}else{
if(i%4==0){
System.out.println(i+"是闰年");
}
}
}
}
}

解决方案二:

 public class RunNian {
    private int startYear = 0;
    private int endYear = 0;
    private ArrayList<String> runnianList = new ArrayList();
    public RunNian(int startYear,int endYear){
        this.startYear = startYear;
        this.endYear = endYear;
    }
    public void cal(){
        for(int year = startYear;year<=endYear;year++){
            if((year%4==0&&year%100!=0)||year%400==0){
                runnianList.add(year+"");
            }
        }
    }
    public int getCount(){
        return this.runnianList.size();
    }
    public void printRN(){
        for(int i=0;i<this.runnianList.size();i++){
            System.out.println(this.runnianList.get(i));
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        RunNian rn = new RunNian(1900,2015);
        rn.cal();
        System.out.println("润年数量:"+rn.getCount());
        System.out.println("润年列表:");
        rn.printRN();
    }

}

如果有帮助,顺手采纳一下哦

解决方案三:

建个栈,是闰年就进栈,数据,列表同理

解决方案四:

我是使用List来存放所有的闰年,而判断闰年的方式是根据Calendar的属性来进行判断,代码比较短,请参考:


import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/**
 * 主要是求闰年方法的一种演示,可以通过判断每年的最后一天是否是第366天来进行闰年的判断
 */
public class LeapYearDemo {
    public static void main(String[] args) {
        int startYear = 1900;
        int endYear = 2015;

        List<Integer> leapYearList = getLeapYearList(startYear, endYear);

        System.out.println("起始年份(包含)" + startYear + "-截止年份(包含)" + endYear
                + "之间的闰年年份共有" + leapYearList.size() + "个,分别是:");
        for (Integer leapYear : leapYearList) {
            System.out.print(leapYear + "t");
        }
    }

    /**
     * 获取给定年份之间的所有闰年年份,包含起始和截止年份
     * <p>
     * 主要通过Calendar类的DAY_OF_YEAR属性来判断每年的最后一天是否是第366天
     *
     * @param startYear
     * @param endYear
     * @return
     */
    private static List<Integer> getLeapYearList(int startYear, int endYear) {
        List<Integer> leapYearList = new ArrayList<Integer>();
        // 获取当前日期,无所谓,后面会改为12月31日,循环中改年份
        Calendar _cal = Calendar.getInstance();
        _cal.set(Calendar.MONTH, 11);
        _cal.set(Calendar.DAY_OF_MONTH, 31);
        for (int i = startYear; i <= endYear; i++) {
            _cal.set(Calendar.YEAR, i);
            if (_cal.get(Calendar.DAY_OF_YEAR) == 366) {
                leapYearList.add(i);
            }
        }
        return leapYearList;
    }
}

运行结果:

起始年份(包含)1900-截止年份(包含)2015之间的闰年年份共有28个,分别是:
1904    1908    1912    1916    1920    1924    1928    1932    1936    1940    1944    1948    1952    1956    1960    1964    1968    1972    1976    1980    1984    1988    1992    1996    2000    2004    2008    2012

解决方案五:

http://zhidao.baidu.com/link?url=IOfobSNSJV393EadshheAbNXrjq-qPSvHB3nYM6YMXadkjPVvjQ6ZyOCd4g6LXI4wllk4aftsbHVB-WZC7JGH_Nca5R7EYhHxB0gsVTKfaq

解决方案六:

简单的话就用两个数组来分别存放,先进行判断

解决方案七:

public class SelectSort {
public static void main(String[] args) throws IOException{
for (int i = 1900; i <= 2015; i++) {
if(i%100==0){
if(i%400==0){
System.out.println(i+"是闰年");
}
}else{
if(i%4==0){
System.out.println(i+"是闰年");
}
}
}
}
}

时间: 2024-10-05 14:02:49

代码-JAVA中如何计数或如何进行标记的相关文章

java中事件处理问题-java中事件处理,红色下划线标记的为什么是错的,求解?

问题描述 java中事件处理,红色下划线标记的为什么是错的,求解? 5C 解决方案 你将鼠标移动到错误的地方,看看它提示什么,根据提示的信息再搜索答案. 解决方案二: 是不是还有ActionListener接口方法没实现? 解决方案三: 解决了,我也是醉了actionperformed中的p应该大写....,还是谢谢你们的热情回答! 解决方案四: 你没有实现这个接口的方法 解决方案五: 把鼠标放到红线上,当出现 Add unimplemented methods 时,点击Add unimplem

java代码-java中对键盘监听是不是一定要用到组件

问题描述 java中对键盘监听是不是一定要用到组件 能不能不用组件能编写一段代码直接在某一个时刻对键盘进行监听,有没有具体的源代码 解决方案 document.body.onkeypress=function()//键盘点击事件 { var code = window.event.keyCode;---得到键盘点击号..一般都用回车13 abc.. 97 98 99... ...下面添加代码就行了 code==? {function(){}}.. }

代码-Java中的GC问题,GC是只看对对象引用的数量吗

问题描述 Java中的GC问题,GC是只看对对象引用的数量吗 今天突然想到一个问题,如果我写了这样的代码 LinkedList<String> list = new LinkedList<>(); list.add(...); list.add(...); list = new LinkedList<>(); list.add(...); list.add(...); 那么原来的的链表会被Garbage collected吗?每个节点还是会被其他节点引用? 解决方案 当

java代码-Java中的简单Lottery问题,急求!!!麻烦了。。。

问题描述 Java中的简单Lottery问题,急求!!!麻烦了... 从1~22中随机产生5个随机数,不能有重复,关键我的有重复,帮忙修改下,我的问题在哪里??改了好多回都不行..... 解决方案 有一个办法可以解决你的问题,那就是将生成的随机数存储在HashSet当中,它会自动去除重复的元素,当个数达到5个时,停止生成.我的代码如下:public static void main(String[] args) { int[] mylist = new int[5]; HashSet rando

代码-java中怎么引用自己写的函数

问题描述 java中怎么引用自己写的函数 我是一个java新手,写了一段代码,有关:摄氏度和华氏度之间的互相转化 package method; import method.HuaShe; public class TestCToFandFToC { public static void main(String[] args){ System.out.println("摄氏 华氏 华氏 摄氏"); for(int i = 1;i <= 10;i++){ double she1 =

java代码-java中影院售票系统的思路

问题描述 java中影院售票系统的思路 用java做一个影院售票系统,但是思路不是很清晰.感觉集合里面要嵌套类,类里面又有类.感觉很不清晰.哪位大神可以解答一下.说一下具体的思路也行 .当然要是有代码参考更好 解决方案 我的中级项目就是这个题材. 具体的思路和表的设计还有源码都有.给我个邮箱,晚上发给你.

代码- java中无法从静态上下文中引用非静态变量,怎么回事?

问题描述 java中无法从静态上下文中引用非静态变量,怎么回事? 是我调用的方法不对,我应该怎么改呢 代码如下: switch(ope){ case "+": res=sum(num1,num2); break; case "-": res=minus(num1,num2); break; case "*": res=mul(num1,num2); break; case "/": res=div(num1,num2); br

java代码-java 中进制与移位运算符

问题描述 java 中进制与移位运算符 package Chapter_02; import java.util.Random; public class Control_12 { public static void main(String[] args) { System.out.println("对Int型数据进行移位的例子如下:n"); Random rand = new Random(); // 实例化一个Random对象 int a = rand.nextInt(); //

java监听事件-java中为什么监听方法的方法参数没有对象,详细代码如下

问题描述 java中为什么监听方法的方法参数没有对象,详细代码如下 b.setOnClickListener.( new On ClickListnener( ) {方法体省略若干代码 } ); java中为什么监听方法的方法参数没有对象,详细代码如上 解决方案 b.setOnClickListener.( new On ClickListnener( ) {方法体省略若干代码 } ); Listener.这里多了一个点吧. 这里b.setOnClickListener需要一个对象,而new O