首页 > 试题广场 >

出生日期输入输出

[编程题]出生日期输入输出
  • 热度指数:104549 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。

数据范围:年份满足 ,月份满足 ,日满足

输入描述:
输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。


输出描述:
三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。
示例1

输入

20130225 

输出

year=2013
month=02
date=25

备注:

通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。

经典舍近求远
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws ParseException {
        Scanner in = new Scanner(System.in);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new SimpleDateFormat("yyyyMMdd").parse(in.nextLine()));

        System.out.println("year="+calendar.get(Calendar.YEAR));

        int month = calendar.get(Calendar.MONTH)+1;
        String m = month < 10 ? "0"+ month : "" + month;
        System.out.println("month="+ m);

        int date = calendar.get(Calendar.DATE);
        String d = date < 10 ? "0" + date : "" + date;
        System.out.println("date="+d);
    }
}


发表于 2023-10-09 21:10:45 回复(1)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String inputString = in.nextLine();

        String year = inputString.substring(0, 4);

        String month=inputString.substring(4,6);

        String divide=inputString.substring(6,8);

        System.out.println("year="+year);

        System.out.println("month="+month);
        
        System.out.println("date="+divide);

    }
}

发表于 2023-08-02 18:26:48 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String brithDate = in.nextLine();
        System.out.println("year=" + brithDate.substring(0, 4));
        System.out.println("month=" + brithDate.substring(4, 6));
        System.out.println("date=" + brithDate.substring(6, 8));
    }
}
发表于 2023-04-16 23:44:40 回复(0)
import java.util.Scanner;
import java.text.SimpleDateFormat;
import java.util.Date;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws Exception{
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        Date dt = sdf.parse(s);
        System.out.println(String.format("year=%tY%nmonth=%tm%ndate=%td",dt,dt,dt));
    }
}
发表于 2022-12-30 22:45:32 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String n=sc.next();
        String y=n.substring(0,4),m=n.substring(4,6),d=n.substring(6);
        System.out.printf("year=%s\nmonth=%s\ndate=%s",y,m,d);
    }
}

发表于 2022-07-24 22:05:17 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        System.out.println("year=" + str.substring(0,4));
        System.out.println("month=" + str.substring(4,6));
        System.out.println("date=" + str.substring(6,8));
    }
}

发表于 2022-06-22 17:18:45 回复(0)
import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner input=new Scanner(System.in);
        String result=input.next();
        System.out.println("year="+result.substring(0,4));
        System.out.println("month="+result.substring(4,6));
        System.out.println("date="+result.substring(6,8));
    }
}

发表于 2022-04-25 14:26:13 回复(0)
import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        
        Scanner sin = new Scanner(System.in);
        
        String str = sin.nextLine();
        
        System.out.println("year=" + str.substring(0,4) + "\n" + "month=" + str.substring(4,6) + "\n" + "date=" + str.substring(6,8));
    }
}

三行代码搞定,简单高效

发表于 2022-02-15 20:00:19 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String people = in.nextLine();
        //substring()方法:返回字符串在范围内的子段
        System.out.println("year="+people.substring(0, 4));
        System.out.println("month="+people.substring(4,6));
        System.out.println("date="+people.substring(6, 8));
    }
}

发表于 2021-08-24 20:37:27 回复(1)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        String input = scanner.next();
        String year = input.substring(0,4);
        String month = input.substring(4,6);
        String date = input.substring(6,8);
        System.out.println("year="+year);
        System.out.println("month="+month);
        System.out.println("date="+date);
    }
}
String的substring题解😄
编辑于 2021-03-18 00:34:29 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//输入
        int data = scanner.nextInt();//输入整数
        int year = data / 10000; //直接整除得到年份
        int Month = (data % 10000)/100; //求余得到年份
        int day = (data % 100) ; //求余得到日期
        /**
         * year=2013
         * month=02
         * date=25
         */
        System.out.println("year="+year);
        System.out.printf("month=%02d\n", Month);
        System.out.printf("date=%02d\n", day);
    }
}

我的解题思路不一定是最优解,我看到楼上也有用子串的方式,我回去试试看哪个占用内存时间少
发表于 2021-02-25 09:27:38 回复(0)
import java.util.Scanner;

public class Main
{
    public static void main(String[] agrs)
    {
        Scanner in = new Scanner(System.in);
        String birth = in.nextLine();
        int year = Integer.parseInt(birth.substring(0,4));
        int month = Integer.parseInt(birth.substring(4,6));
        int day = Integer.parseInt(birth.substring(6,8));
        
        System.out.printf("year=%d\n", year);
        System.out.printf("month=%02d\n", month);
        System.out.printf("date=%02d\n", day);
    }
}
发表于 2021-01-07 20:31:52 回复(0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String read = bf.readLine();
        System.out.println("year="+read.substring(0,4));
        System.out.println("month="+read.substring(4,6));
        System.out.println("date="+read.substring(6,8));
    }
}

发表于 2020-04-13 22:19:29 回复(0)
public class Main{
    public static void main(String []args){
        String regex="[0-9]{4}[0-9]{4}";
        //System.out.println("请按格式输入出生年月(格式:20200202):");
        Scanner sc=new Scanner(System.in);
        if(sc.hasNext()) {
            
            String date=sc.nextLine();
            if(date.matches(regex)) {
                System.out.println("year="+date.subSequence(0, 4));
                System.out.printf("month=%02d\n",Integer.parseInt(date.substring(4,6)));
                System.out.printf("date=%02d",Integer.parseInt(date.substring(6)));   
            }else {
                System.out.println("请按格式输入,如20200202");
                System.exit(0);
            }
                    
            
        }
    }
}
发表于 2020-04-03 14:15:40 回复(0)

字符串的截取

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext())
        {
            String str=sc.next();
            System.out.println("year="+str.substring(0,4));
            System.out.println("month="+str.substring(4,6));
            System.out.println("date="+str.substring(6,8));
        }
    }
}
发表于 2020-03-25 19:23:34 回复(0)
import java.util.Scanner;

public class Main{

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String year = s.substring(0, 4);
        String month = s.substring(4, 6);
        String days = s.substring(6, 8);
        System.out.println("year="+year);
        System.out.println("month="+month);
        System.out.println("date="+days);

    }


}
发表于 2020-03-22 13:47:37 回复(0)