首页 > 解决方案 > 如何使用Java中的数组从整数转换为月份

问题描述

假设用户需要输入一些整数,输出将在一个月内。

输入的第一行是组中的成员数。因此,对于以下每一行,都有 3 个整数表示一个有效日期,即每个成员的生日,格式为 dd mm yyyy。如果用户在示例中插入数字 1 01 2018,则输出将变为 2018 年 1 月 1 日。

这是我的代码。

import java.util.*;
import java.text.SimpleDateFormat;

public class LabExercise1b {

    public static void main(String[] args) {

        Scanner console = new Scanner(System.in);
        System.out.print(" "); //number of people
        int people = console.nextInt();
        int day, year;
        String[] month = new String[]{"January", "February", "March", "April", "May", "June", "July", "August",
                "September", "October", "November", "December"};

        for (int i = 1; i <= people; i++) {
            SimpleDateFormat newFormat = new SimpleDateFormat("MM");
            System.out.println(" ");
            day = console.nextInt();
            year = console.nextInt();
        }
        System.exit(0);
    }
}

顺便说一句,我在学习 Java 语言方面还是新手。希望有人可以教我或分享一些知识。我正在使用 Eclipse IDE。

标签: javadatesimpledateformat

解决方案


如果您的输入是 11042018。并且您希望输出是 2018 年 4 月 11 日,那么请执行以下操作:

Scanner console = new Scanner(System.in);

String[] month = new String[]{"January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November", "December"};

int input = console.nextInt();

String dateString = input.toString();
String day = dateString.subString(0, 1);
String monthNum = dateString.subString(1, 3);
int intMonthNum = Integer.toString(monthNum);
String year = dateString.subString(3, 7);

System.out.print(day + " ");

if(intMonthNum>0 && intMonthNum <13){
    System.out.print(month[intMonthNum-1]); 
}else{
    System.out.println("Enter correct month number"); 
}

System.out.print(" " + year);

推荐阅读