java - 如何使用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。
解决方案
如果您的输入是 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);
推荐阅读
- c - 为什么循环迭代 6 次但条件给出 5 次
- python-3.x - 尝试运行代码分析参考列表以供阅读时出现问题
- javascript - TypeError: "exports" 是只读的 => 导出模块时调用另一个方法的方法
- javascript - 带有 Nodemailer 的 HTML2PDF
- java - UTF-8 字符 html 内容字符串到 pdf
- google-apps-script - 我可以使用谷歌应用脚本来开发谷歌浏览器扩展吗
- asp.net-mvc - 任何 .net 应用程序的 IIS 应用程序池崩溃 - PipelineModuleStepContainer 中的 NullReferenceException
- c++-cli - 如何在datagridview中合并单元格,然后将组合框添加到单元格被合并?
- mysql - 如何使用 SQL 在 MS 查询表中仅显示一个最大值(不是一组最大值)?
- java - 理解构造函数的问题,如 ArrayList.class 中的构造函数