牛客网之程序员日与字母统计

首先是基础-程序员日

题目描述:

nowcoder是一个程序员,他决定把每年的第256天作为程序员的节日,所以他一直期待着这一天的到来。请实现一款软件,给定一个日期,输出这个日期是该年的第几天

输入描述:

输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

输出描述:

对于每组输入数据,输出一行,表示该日期是该年的第几天。

示例输入:

2000-01-01

示例输出:

1

首先给出代码。该题主要的思路为1.判断闰年2.获取字符串中的数字3.用数组存储日,并累加。

// write your code here
//闰年判断与月份判断
//
import java.util.Scanner;
public class Main{
    public static void main(String[]args){
        Scanner input = new Scanner(System.in);
        while(input.hasNext())
        {
            int[]ddd={31,28,31,30,31,30,31,31,30,31,30,31};
            int[]number=new int[3];
            String s =input.nextLine();
            int flag=0;
            number=change(s);
            int year=number[0];
            int month = number[1];
            int day=number[2];
            int ri=0;
            if((year%4==0&&year%100!=0)||year%400==0)
            {
               // flag=1;
                ddd[1]=29;
            }
            for(int i=0;i<month-1;i++)
            {
                ri+=ddd[i];
            }
            ri+=day;
            System.out.println(ri);
        }
    }
    //int是不对的因为要返回数组,会出现如下错误
    //Main.java:14: error: incompatible types: int cannot be converted to int[]
//number=change(s);
//^
//Main.java:46: error: incompatible types: int[] cannot be converted to int
//return number;
    public static int[] change(String s){
        //获取字符串s的0,3
        String year=s.substring(0,4);
            String month=s.substring(5,7);
        String day=s.substring(8);
        int yy=Integer.parseInt(year);
        int mm=Integer.parseInt(month);
        int dd=Integer.parseInt(day);
        int[]number = new int[3];
        number[0]=yy;
        number[1]=mm;
        number[2]=dd;
        return number;
        //不能这么返回,可以返回一个数组
        //return yy,mm,dd;
    }
}

在本题中遇到了一些问题:

1.还是不熟悉数组的命名方式:int[]number=new int[3];

2.对于方法了解不够透彻:不能返回多个数据,如若返回多个数据,可以存在一个数组中,返回数组。

public static int[] change(String s),要这样定义一个返回数组的方法。

3.使用了字符串的函数,如substring(begin,end),substring为获取子串的方法,获取字符串中[begin,end-1]位置的子字符串。

如果只输入一个begin,则为从begin数字到字符串尾部。

4.使用了将字符串转换为数字的方法Integer.parseInt(s)的方法。

5.重温了判断闰年的方法:能被4整数且不能被100整除,或可以整除400。

参考了其他人的方法发现了一个Java类

import java.text.ParseException;
import java.text.SimpleDateFormat;

会后续参考并写出自己理解。 

 

 

统计思维 程序员数学之概率统计 第2版PDF》是一本有关统计思维和概率统计的书籍的PDF版本。统计思维是一种学习和分析数据的方法论,它帮助我们了解和解释数据中的趋势和规律。程序员数学是指程序员在编程过程中所需要的数学知识。 这本第2版的书籍对统计思维和概率统计的概念进行了详细的介绍和解释。它帮助读者了解概率统计的基本概念,如概率、随机变量、概率分布等,以及如何利用统计方法对数据进行分析和预测。此外,书中还介绍了一些统计学的基本原理和假设,如假设检验、置信区间等。 对于程序员来说,理解概率统计是非常重要的。在编程中,我们经常需要处理和分析大量的数据,因此掌握概率统计的知识可以帮助我们更好地理解和处理数据。通过使用统计方法,我们可以找到数据中的模式和趋势,从而改进我们的程序和算法。 这本书是以程序员的角度来介绍统计思维和概率统计的,因此对于具有编程背景的读者来说是非常有帮助的。它使用简洁明了的语言和示例来解释概念和方法,同时还提供了一些实际案例和练习题,帮助读者更好地理解和应用所学知识。 总的来说,《统计思维 程序员数学之概率统计 第2版PDF》是一本适合程序员学习和应用概率统计的书籍,它提供了深入浅出的解释和实践案例,帮助读者掌握统计思维和概率统计的基本概念和方法。如果你是一个程序员,并且对统计学感兴趣,那么这本书是值得推荐的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值