用java语言回答-输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽

问题描述

输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽

输入一个日期,计算并输出是这一年的那一天,输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽

解决方案

 public int orderDate(Date date){
  int dateSum = 0;
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  String dateStr = format.format(date);
  System.out.println(dateStr);
  int year = Integer.valueOf(dateStr.substring(0,4));
  int month = Integer.valueOf(dateStr.substring(5,7));
  int day = Integer.valueOf(dateStr.substring(8,10));
  for (int i = 1; i < month; i++){
   switch(i){
     case 1: case 3: case 5: case 7: case 8: case 10: case 12:dateSum += 31; break;
     case 4: case 6: case 9: case 11:dateSum += 30; break;
     case 2:
      if(((year % 4 == 0) & (year % 100 != 0)) | (year % 400 == 0))
       dateSum += 29;
      else dateSum += 28;
   }
  }

  return dateSum = dateSum + day;
 }

解决方案二:

public class currentDay {

    public static void main(String[] args) {
        int year,month,day;
        int temp = 0;
        int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
        Scanner input = new Scanner(System.in);
        System.out.print("请输入年月日");
        year = input.nextInt();
        month = input.nextInt();
        day = input.nextInt();
        for (int i = 0; i < month-1; i++) {
            temp +=a[i];
        }
        if((year%400==0||(year%4==0 &&year%100!=0))&&month>2){
            System.out.println("这一天是今年的第"+(temp+1+day)+"天");
        }else{
            System.out.println("这一天是今年的第"+(temp+day)+"天");
        }

    }

}

解决方案三:

这种程序网上一大堆啊,建议还是自己动动脑筋哈

解决方案四:

Java 中的Calendar类是提供直接获取年份第几天的方法的。参考下面的代码:

/**
     * 根据输入日期输出该日期所在年份的天数。
     *
     * @param dateStr
     *            必须为2014-04-02格式
     * @return 返回日期所在年份的第几天
     */
    public static int printDayOfYear(String dateStr) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        Date startDate;
        try {
            startDate = sdf.parse(dateStr);
            Calendar startCalendar = Calendar.getInstance();
            startCalendar.setTime(startDate);
            int index = startCalendar.get(Calendar.DAY_OF_YEAR);
            System.out.println("输入的日期" + dateStr + "是这一年中的第" + index + "天。");
            return index;
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return -1;
        }
    }

解决方案五:

/**

  • !!请使用jdk1.8
  • *
  • @author puruidong
  • @version 2015-06-24
    /
    public class Main {
    /
    *

    • 接受输入并输出该日期是当年的第多少天.
      /
      private static void showDate() {
      System.out.println("输入一个日期,格式[yyyy-MM-dd,例如:2000-08-08]:");
      Scanner sc = new Scanner(System.in);
      String dates = sc.next();
      try {
      LocalDate d = LocalDate.parse(dates, DateTimeFormatter.ISO_LOCAL_DATE);
      System.out.println("这是当年的第"+d.getDayOfYear()+"天.");
      }catch(Exception e){
      System.err.println("
      *******************************不许乱输********************************");
      //e.printStackTrace();
      }
      }

    public static void main(String[] args) {
    showDate();
    }
    }


解决方案六:

 /**
 *   !!请使用jdk1.8
 *
 *
 * @author puruidong
 * @version 2015-06-24
 */
public class Main {
    /**
     * 接受输入并输出该日期是当年的第多少天.
     */
    private static void showDate() {
        System.out.println("输入一个日期,格式[yyyy-MM-dd,例如:2000-08-08]:");
        Scanner sc = new Scanner(System.in);
        String dates = sc.next();
        try {
            LocalDate d = LocalDate.parse(dates, DateTimeFormatter.ISO_LOCAL_DATE);
            System.out.println("这是当年的第"+d.getDayOfYear()+"天.");
        }catch(Exception e){
            System.err.println("********************************不许乱输********************************");
            //e.printStackTrace();
        }
    }

    public static void main(String[] args) {

        showDate();
    }
}

解决方案七:

直接有calendar类使用,如果不用这个类,自己写个也毫无压力啊

时间: 2024-09-20 21:19:59

用java语言回答-输入一个日期,计算并输出是这一年的那一天,用Java语言回答这个问题,,,感激不尽的相关文章

学习困惑-如何使用eclipse从键盘输入一个日期,显示星期几

问题描述 如何使用eclipse从键盘输入一个日期,显示星期几 刚开始学习java,请求帮助! 希望能从CSDN中获得一些知识 解决方案 需要用到java.util.Date, 先建立一个Date object 把你的日期放进去. Date date = new Date(year,month,date); 然后把这个date object放到你的java.util.Calendar里 不过因为calendar是singleton的, 所以拿Calendar的instance需要用getInst

C语言实现输入一个字符串后打印出该字符串中字符的所有排列_C 语言

本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. C语言实现代码如下: /* * Copyright (c) 2011 alexingcool. All Rights Reserved. */ #include <iostream> #include <al

python输入一个整数N,输出N的所有最小因子

题目:输入一个整数N,输出N的所有最小因子,也称素因子. 其中,任何一个大于1的数,都可以写成多个素数的乘积,我们把这些素数叫做这个数素因子. 例如: 输入:120 输出:2 2 2 3 5 输入:27 输出:3 3 3 python求解素因子代码如下: # -*- coding:utf-8 -*- def isprime(num): count = num / 2 while count >1: if num % count == 0: return False break else: cou

java-Java 从键盘输入一个只有加减法的等式,求结果

问题描述 Java 从键盘输入一个只有加减法的等式,求结果 从键盘输入一个等式,例如1+1-1,输出最后的答案1,输入的等式不确定项数 解决方案 /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is pu

java-Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入。

问题描述 Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入. 新手求教!Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入. 解决方案 做一个循环,条件是比较这个数.不满足就循环就可以了. 解决方案二: 设定一个标记变量 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int x

一些无聊的代码之一:JAVA中的日期计算

/* * DateCalculate.java , Created on 2005-3-18 * Copyright 2005 AAA Information Technology CO.LTD. All rights reserved. *  * 作成日期: 2005-3-18 * 修改履历:  *  */package com.bjb.xyh.util; import java.text.DecimalFormat;//import java.text.ParseException;impo

c语言/c++回答输入学号,名字(字符串),分数,按分数排序

问题描述 c语言/c++回答输入学号,名字(字符串),分数,按分数排序 今天举行了一场比赛,邀请大一的学生参加比赛,实际来了m个学生,当他们做好自己的位置的时候,一个老师小z按照顺序登记他们的信息(学号,姓名),当他们比赛完之后按照小z登记的信息填写他们的成绩:现在问题来了,小z只记录大一同学的成绩,不知道排名,但小z想知道他们的排名,他很苦恼,聪明的你帮他写个程序解决一下吧. 输入 第一行是一个整数T表示测试数据的组数 每组测试数据的第一行 有一个整数m(m<=100)表示大一比赛的人数,之后

c语言-从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

问题描述 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 解决方案 我用java不过逻辑都一样 int n = 987878976;//正是是从键盘接收的数字,处理后的数字. int count = 0;//保存数字的位数 while(n>=1){ count++; n = n/10; } //输出count就可以了 解决方案二: #include <iostream> using names

java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了

问题描述 java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了 HashMap> results = new HashMap>(); //输入的ID int ID=Integer.parseInt(Catid); //表中所有的数据 aas=cloudnewscategory.selectAllGory(); System.out.println("所有记录="+aas); for (CloudNewsCategory gory :