精华内容
下载资源
问答
  • 这其中要考虑闰年和平年的关系,前面有过介绍这里就不再做详细介绍了,我们只要知道闰年和平年中的2月份的天数是不一样的,所以在做的时候要考虑这一个点,然后再根据每个月有多少天进行求和运算就可以了。...
        一年中该如何计算它过了多久呢?数学好的可以很快算出来,那如果我们想要用代码去做,又应该如何实现呢?
        如:2020年1月5日
       这代表2020年已经过去了5天,那当月份增多时,在某个月的某一天我们要对它进行计算应该如何计算?这其中要考虑到闰年和平年的关系,前面有过介绍这里就不再做详细介绍了,我们只要知道闰年和平年中的2月份的天数是不一样的,所以在做的时候要考虑到这一个点,然后再根据每个月有多少天进行求和运算就可以了。
       编程中判断闰年平年的格式:
       year%100!=0 && year%4==0 || year%400==0
       
       题目:要求我们用代码实现输入任何一年中某个月的某一天,然后求出这一年具体过了多少天?
    

    详细代码如下:
    public static void main(String[] args) {
    //创建键盘扫描器
    Scanner a = new Scanner(System.in);
    //提醒用户输入年份
    System.out.println(“请输入年份:”);
    //接收用户输入的年份
    int year = a.nextInt();
    //提醒用户输入月份
    System.out.println(“请输入月份:”);
    //接收用户输入的月份
    int month = a.nextInt();// 1-(month-1)的天数之和
    //提醒用户输入日期
    System.out.println(“请输入日期:”);
    //接收用户输入的日期
    int day = a.nextInt();
    int sum = 0;
    //计算month-1月份的天数之和
    switch (month-1) {
    case 0:
    sum = 0;//
    break;
    case 1:
    sum = 31;//1月的天数
    break;
    case 2:
    sum =59;//1-2月的天数(此时的2月份按平年计算:28天)之和
    break;
    case 3:
    sum =90;//1-3月的天数之和
    break;
    case 4:
    sum =120;//1-4月的天数之和
    break;
    case 5:
    sum =151;//1-5月的天数之和
    break;
    case 6:
    sum =181;//1-6月的天数之和
    break;
    case 7:
    sum =212;//1-7月的天数之和
    break;
    case 8:
    sum =243;//1-8月的天数之和
    break;
    case 9:
    sum =273;//1-9月的天数之和
    break;
    case 10:
    sum =304;//1-10月的天数之和
    break;
    case 11:
    sum =334;//1-11月的天数之和
    break;
    }
    //判断输入的月份是否大于2,大于2需要要判断它是闰年还是平年
    if (month>2) {
    if (year%100!=0 && year%40 || year%4000) {
    System.out.println(year+“年”+month+“月”+day+“日是这一年的第”+(sum+day+1)+“天”);
    }else {
    System.out.println(year+“年”+month+“月”+day+“日是这一年的第”+(sum+day)+“天”);
    }
    }else {
    System.out.println(year+“年”+month+“月”+day+“日是这一年的第”+(sum+day)+“天”);
    }
    //关闭扫描器
    a.close();
    }

    代码完了之后运行,然后随便输入一个年月日,查看结果是否正确,下面是我输入的2020年5月21日,结果是这一年过了142天,喜欢的朋友可以自己写来实现一下,希望对你有所帮助。
    在这里插入图片描述

    展开全文
  • 分析:大家都知道,每年的总共日期,要么就是365天,要么就是366天,具体是取决于闰年还是平年,更确切的说就是每年二月是28天还是29天,归结这个问题,有一个关键的认识点,就是求解这一年是闰年(366天)还是...

    分析:大家都知道,每年的总共日期,要么就是365天,要么就是366天,具体是取决于闰年还是平年,更确切的说就是每年二月是28天还是29天,归结到这个问题,有一个关键的认识点,就是求解这一年是闰年(366天)还是平年(365天)。

    平年还是闰年计算算法:

    1. 年份能被4整除,但不能被100整除;

    2. 能被400整除  

    下面给出具体算法:

    package test;
     
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
     
    /**
     * 题目:输入某年某月某日,判断这一天是这一年的第几天?
     */
    public class NaYiTian {
        public static void main(String[] args){
            BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
            try {
                //录入键盘的数据
                String str=bf.readLine();
                //分割年月日
                String[] strArr=str.split("-");
                int year=Integer.parseInt(strArr[0]);
                int month=Integer.parseInt(strArr[1]);
                int towMonth=28;
                //判断平年还是闰年
                if((year%4==0&&year%100!=0)||(year%400==0)){
                    towMonth=29;//闰年多一天
                }
                int totalDay=0;
                int[] months={31,towMonth,31,30,31,30,31,31,30,31,30,31};
                //前几个月加上本月的天数
                for(int i=0;i<months.length;i++){
                    if(month>=i+1){
                        if(month==i+1){
                            totalDay+=Integer.parseInt(strArr[2]);
                            break;
                        }else{
                            totalDay+=months[i];
                        }
                    }
                }
                //输出结果
                System.out.println(totalDay);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

     

    来自微信公众号:编程社

    程序员日常进阶宝典,欢迎关注!

     

    转载于:https://www.cnblogs.com/ai10999/p/11448654.html

    展开全文
  • 记工作一年后腾讯社招面试经历

    千次阅读 2019-08-24 21:03:00
    招聘APP投了腾讯一个C++后台开发岗位后,收到电面邀请,时间是晚上7点半。当时还没下班,提前跑办公楼外面接电话。主要问了一些语言、数据结构方面的基础知识,聊了将近50分钟,然后就是通知周末去公司进行...

    腾讯社招面试经历

    电话面试

    在某招聘APP投了腾讯一个C++后台开发岗位后,收到电面邀请,时间是晚上7点半。当时还没下班,提前跑到办公楼外面接电话。主要问了一些语言、数据结构方面的基础知识,聊了将近50分钟,然后就是通知周末去公司进行现场面试。下面是具体的面试题目。

    1、free()函数入参是一个void*指针,它是如何知道被指向的大小的?

    2、查找二叉树中第k小的元素?

    3、数据库为什么使用B树作为存储数据的数据结构?

    4、C++ lambda表达式的特性,什么情况下使用?

    5、c/c++程序如何控制执行到某个特定内存地址?

    6、二叉堆的维护?

    7、LRU算法的实现?

    8、C++虚函数表、函数重载、函数重写(override)特性?

    9、C++智能指针特性、右值特性、正则表达式、map、unorder_map?

    10、C++对象内存布局?

    11、C++ new和c语言的malloc的区别?

    12、linux网络编程api(socket、bind、listen、accept、close、connect)

    13、C++程序的编译过程?

    14、什么是迭代器失效?

    技术一面

    1、介绍一下项目架构,以及自己负责的模块?
    这个说得不好。因为本人毕业后在某通信设备公司工作,参与的项目都是已经十分成熟、庞大的,整体的系统架构复杂。当时我往系统整体方向说,没说明白,给面试官的感觉就是逻辑不清晰,没有表达清楚项目架构,以及自己在其中的工作部分。当时就感觉自己没戏了。

    2、问了C++对象布局的一些东西,回答得还行,涉及到了虚函数指针、空对象的大小以及vector容器、三五法则。

    3、接着面试官又问了一些C++模板方面的问题,比较深入的没答上来。
    先是给了三个重载函数(普通函数、函数模板、特例化的函数模板),根据入参确定调用的函数。这个比较基础,答上来了。接着又问了类型萃取的问题,如何使用模板来判断入参是一个类对象指针,还是一个内置类型指针。

    4、最后面试官让我说一下linux上socket编程的一些API,中途问了一些问题。因为本人工作基本没涉及到这些,相关知识都是看书了解的,导致理解不深刻,面试官问的问题也答得不好。
    最后,一面当然没过。

    总得来说,自己的项目架构和负责的工作一定要理解透彻,社招还是比较注重项目经验的。想象中的算法题居然没有,可能是自己太菜,都没撑到让面试官出算法题~最后面试官跟我聊了一会,主要是指出自己的不足、以及需要学习改进的建议。哎,腾讯的面试体验还是很不错的,不愧是大厂,面试官也很Nice,不会刻意为难你。再继续努力吧,下次还会再来的。

    展开全文
  • 日历热力图能够直观的查看某人一年内(一年前的今天今天)的工作量/工作情况,并且对其点击事件进行监听,可以进行对应操作,比如说,获取一天的具体工作。 主要实现 以下代码是在echarts的编辑器中直接进行...

    前情提要

    日历热力图能够直观的查看某人一年内(一年前的今天到今天)的工作量/工作情况,并且对其点击事件进行监听,可以进行对应操作,比如说,获取某一天的具体工作。

    主要实现

    以下代码是在echarts的编辑器中直接进行实现的,这是编辑器地址

    let today = new Date();
    // 获取一年前的今天
    var date = new Date(today.getFullYear()-1+'/'+(today.getMonth()+1)+'/'+today.getDate()).getTime();
    var end = new Date().getTime();
    function getVirtulData(year) {
        var dayTime = 3600 * 24 * 1000; // 一天
        var data = [];
        for (var time = date; time < end; time += dayTime) {
            data.push([
                echarts.format.formatTime('yyyy-MM-dd', time),
                Math.floor(Math.random() * 100)
            ]);
        }
        return data;
    }
    
    function getFormatDate(timeStamp) {
        let timeObj = new Date(timeStamp);
        return timeObj.getFullYear()+'-'+(timeObj.getMonth()+1)+'-'+timeObj.getDate();
    }
    
    let data = getVirtulData('2016');
    
    option = {
        title: {
            top: 30,
            left: 'center',
            text: `某人${getFormatDate(date)}${getFormatDate(end)}每天的工作量`
        },
        legend: {
            left: 25,
            bottom: 5,
            tooltip: {
                show: true,
                position: 'top',
                formatter: (el) => {
                    return el.name;
                } 
            },
            itemGap: -3,
            itemWidth: 15,
            itemHeight: 15,
            icon: 'rect',
            formatter: () => {
                return '';
            }
        },
        tooltip: {
            position: 'top',
            formatter: function (p) {
                var format = echarts.format.formatTime('yyyy-MM-dd', p.data[0]);
                // return format + ': ' + p.data[1];
                return `工作量:${p.data[1]}<br>${echarts.format.formatTime('yyyy-MM-dd', p.data[0])}`;
            }
        },
        visualMap: {
            type: 'piecewise',
            show: false,
            pieces: [
                {min: 0, max: 5, label: '0', color: '#e2e4e6'},
                {min: 5, max: 10, label: '0-10', color: '#acd5f2'},
                {min: 10, max: 40, label: '10-20', color: '#7fa8c9'},
                {min: 40, label: '40+', color: '#527ba0'}
            ]
        },
        calendar: {
            top: 120,
            left: 30,
            right: 30,
            cellSize: 17,
            // 设置月份轴的样式
            monthLabel: {
                nameMap: 'cn',
                borderWidth: 0
            },
            range: [date, end],
            // 设置日历格的样式
            itemStyle: {
                borderWidth: 2,
                borderColor: '#fff'
            },
            // 设置星期轴的样式
            dayLabel: {
              nameMap: 'cn',
              firstDay: 1
            },
            yearLabel: {show: false},
            // 设置分隔线样式
            splitLine: {
                lineStyle: {
                    color: '#fff',
                    width: 1.25
                }
            }
        },
        series: [{
            name: '任务范围1',
            type: 'heatmap',
            coordinateSystem: 'calendar',
            data: data.filter(item=>item[1]>=0 && item[1]<=5),
            itemStyle: {
                color: '#e2e4e6'
            },
            emphasis: {
                itemStyle: {
                    borderColor: '#333'
                }
            }
        },{
            name: '任务范围2',
            type: 'heatmap',
            coordinateSystem: 'calendar',
            data: data.filter(item=>item[1]>5 && item[1]<=10),
            itemStyle: {
                color: '#acd5f2'
            },
            emphasis: {
                itemStyle: {
                    borderColor: '#333'
                }
            }
        },{
            name: '任务范围3',
            type: 'heatmap',
            coordinateSystem: 'calendar',
            data: data.filter(item=>item[1]>10 && item[1]<=40),
            itemStyle: {
                color: '#7fa8c9'
            },
            emphasis: {
                itemStyle: {
                    borderColor: '#333'
                }
            }
        },{
            name: '任务范围4',
            type: 'heatmap',
            coordinateSystem: 'calendar',
            data: data.filter(item=>item[1]>40),
            itemStyle: {
                color: '#527ba0'
            },
            emphasis: {
                itemStyle: {
                    borderColor: '#333'
                }
            }
        }],
        textStyle: {
            fontSize: 14
        },
        backgroundColor: '#fff'
    };
    
    myChart.on('click', (params) => {
    	// 点击事件
        console.log(params)
    });
    

    代码微解析

    1. 日历格子的颜色

    日历格子主要是靠visualMap视觉映射,上述代码中,visualMap定义了数值在某一范围的格子应该是什么颜色。另外,由于visualMap映射的图例不能设置tooltip,故我们将其设置为show: false。(若能设置,欢迎讨论)

    2. 图例(legend)的颜色

    图例的颜色是与series中的itemStyle进行对应的,所以为了保持日历格子的颜色和图例颜色一致,我们应注意对应范围的对应颜色的设置。

    效果展示

    1. 整体效果:
      在这里插入图片描述
    2. 移入某一日历格子:
      在这里插入图片描述
    3. 移入图例:
      在这里插入图片描述

    扩展

    1. 点击某个日历格子需要有选中状态,但是就echarts目前的api来说好像没有找到可以使用的方法。所以就自己想了个解决方法:

      先定义一个position为absolute的图标元素,然后获取日历格子的位置,再根据位置信息设置图标元素的位置。

      效果如图:
      在这里插入图片描述
      点击日历格子之后我们可以获取到格子的具体信息,这里最主要的位置数据就在event对象里。event对象中有offsetXoffsetY,即我们点击处的位置;event中还是一个target对象,该对象中的shape对象里则有实现上述效果的重要数据。以下是shape对象中的数据:

      {
      	x: 723.4150943396227
      	y: 144
      	width: 18.67924528301887
      	height: 16
      }
      

      其中xy为格子的位置,widthheight为格子的大小。所以最终我们这样设置图标元素的位置就可以达到想要的效果啦。

      this.$refs.markPoint.style.left = params.event.target.shape.x + 'px';
       this.$refs.markPoint.style.top = params.event.target.shape.y - (params.event.target.shape.height / 2) + 'px';
      
    展开全文
  • 回过头看这一年多做的事

    千次阅读 2016-08-03 10:44:42
    当时BH这层runtime正在已混布的方式与另一个集团内的OLAP系统为项目落地而集成,具体就不谈了。截止目前,这种”狼狈”的组成形式终于比较令人满意地磕磕碰碰着落地了。年后,主要磨了系统的稳定性,在真实数据上...
  • 场景:取历史一年的数据,按周汇总,并且将每周汇总数据统计周一对应的日期。(当然这里可以对应任意周几) 数据存放在表:dw_db.tmp_data_info_week,数据格式如下: 下面提供具体的解决方法: 思路:1、求...
  • PHP中计算指定的一天是星期几

    千次阅读 2010-01-06 14:18:00
    $a = (($year-1)+(int)(($year-1)/4)-(int)(($year-1)/100)+(int)(($year-1)/400)+$day_num)%7;$year是指具体是哪一年,$day_num指这一天是该年的哪一天.计算出的结果:从06,分别表示星期日星期六.
  • 镇妇联20XX年工作总结 一年来,我们妇联在镇党委、政府的领导下,在市妇联的正确指导下,紧紧围绕中心工作,坚持“一手抓发展。一手抓维权”的指导思想,践行社会主义荣辱观,开拓创新,锐意进取,较好地完成了...
  • 1、如果点击某一年,自动跳转这一年的具体12个月的数据分布显示。 2、如果点击某个月,自动跳转这个月的具体数据分布显示。 年统计页面 月: 日: echarts的点击事件触发: myBarChart.on('...
  • 公式:Week = (day + 2 * month + 3 * (month + 1)/ 5 + year + year / 4 - year / 100...该公式具体怎么证明就不知道了,在博客上学的,对于初级选手来说比较实用。 例:如果是2004-1-10则换算成:2003-13-10...
  • 对于具体某一年来说,同样是按照时间先后进行排列。首先需要获取博客的总数,在顶部的segment中显示;然后根据年份进行查询数据库,获取对应年份的博客列表,其中列表按照时间降序排列;对于具体的某一篇博客,...
  • 90后最流行的英文名

    千次阅读 2019-03-15 06:49:09
    90后最流行的英文名 ...美国1990年1999年间出生的90后们,最常见的英文名都有哪些?前三名最火的女性英文名是Jessica, Ashley和Emily。 最火的男性英文名前三位...查询具体某一年的流行英文名,请戳这里。 以下数据来...
  • 客户在不同时间,可能过去的一天缴费,他的账号的到期日期可能在过去的一天,可能在未来的一天,客户可能交一个月,可能交一年的费用,现在统计出过去一年,及未来一年,用户交的费用具体到每个月。...
  • 因为项目中需要一个每周工作计算的功能,具体日期的算法是,把每月拆分成几个周,最后一个星期这个月份的天数不够就补上下个月的。 列如今天8月27星期一,这个月有31天,但是... //计算某一年某个月有几周 func...
  • 惠普员工的岗位责任书 1957年惠普公司上市,但在这一年的年初,休利特和帕卡德带领公司20多名经理来到旧金山...比如说,所有的市场工程师都有同样的岗位描述,但是具体到某一个工程师而言,他们的岗位责任就不同了...
  • 现将我这一年来的学习工作情况总结如下: 一、踏实肯干,努力完成好各项业务工作 在科工作的半年中,通过领导和同事们的耐心指导,我在熟悉的基础上已经基本能完成科室的各项日常工作,期间我具体参与的工作主要...
  • 最新教师年度工作总结优秀范文 工作总结,就是把一时期已经做过的工作,进行一次全面系统的总检查、总评价,进行一次具体的总分析、总研究;也就是看看取得了哪些成绩,存在哪些缺点和不足,有什么经验、提高。下面...
  • 2020公司财务工作总结【四篇】 工作总结就是对项工作或阶段工作的ldquo;复盘rdquo;,做好工作总结,吸取的教训,并经过提炼和升华找出规律,形成理论。下面是小编精选的2019公司财务工作总结范文,仅供参考,...
  • 一、概述 曾几何时,利用Google搜索...刚工作不到一年的时候,接触公司的商业项目,逐步意识编程说难不难,说不难也难。之前看文章说学计算机绕不开的两项技能:英语和数学,在此期间深刻体会了其重要性。...
  • 我的研究生课题是基底细胞癌诊疗方法的研究,问题是哪有足够的数据量去研究呢,尽管医院患者量大到走廊通行都困难,但平均到某一个具体的典型疾病一年也攒不下多少数据,想做个课题往往要回顾过去5~8年的病例,零散...
  • 2020公司员工个人年终工作总结范文 工作总结,就是把一时期已经做过的工作,进行一次全面系统的总检查、总评价,进行一次具体的总分析、总研究。下面是小编为大家收集的关于2020公司员工个人年终工作总结5篇,希望...
  • 想着虽然不一定去面,但还是要把一些面试的八股文给熟悉一下,毕竟又写了快一年的业务代码了,自己的长进也是模模糊糊,好像也没有落到具体的东西上...首先我们先回顾下 Promise.all 静态方法的实现rencoo:[...
  • 三年前的一个晚上,我正准备下班回家,我们的项目经理把我叫办公司和我谈话,谈了很多,具体说什么不记得了,大体意思就是说测试组缺人,而前端组人员暂时较充足,问我能不能从前端岗位转测试组的岗位。...
  •  三年前的一个晚上,我正准备下班回家,我们的项目经理把我叫办公司和我谈话,谈了很多,具体说什么不记得了,大体意思就是说测试组缺人,而前端组人员暂时较充足,问我能不能从前端岗位转测试组的岗位。...
  • 从个人,到集团,到国家,从筹码博弈,到生死搏杀,面对抉择,...即便是归结到某一个具体的人,包括你、我、他,也有“天人交战”:和自己的私欲,和自己的信念,和自己的理想。而过去的这一年,我们又一次清醒地...
  • C++基础篇--作用域和自定义命名空间

    千次阅读 2015-03-23 17:19:57
     为引出本文主题,先举个例子,以便后文对照理解:学校一年招了3个叫李明的学生,为便于区分:1)按年龄排序分别称大、中、小李明;2)把他们分不同班,这样各班内部就没有同名的李明,而学校范围内可用1班/2班...
  • 一般我们购买的InstallShield多为单机绑定版本,理论上只允许安装到某一固定机器上,但考虑企业因更设备更新等原因,会出现将InstallShield License迁移到另外一台机器上的可能,所以厂商允许一年进行一定次数的迁移...
  • 哈工大2019秋数据结构期末试题

    千次阅读 多人点赞 2020-10-29 21:39:44
    选择题考察的很细,涉及二叉树的算法、图的算法的具体某一个步骤。强烈建议搞懂每个算法的实现原理和具体的实现过程。!!! 我清楚的记得,有一道选择题,给了四个排序算法,问哪个算法是稳定的? 2.填空题 填空题...

空空如也

空空如也

1 2 3 4 5
收藏数 82
精华内容 32
关键字:

具体到某一年