java - 输入日期 (MM/dd/yyyy) 到字符串
问题描述
你好我是使用java的新手我只需要一些建议..
这就是我需要做的:用户输入日期 2018 年 8 月 15 日,控制台应该有输出:“你好!这是 2018 年 8 月的第 15 天。”
这是我的代码
package newdate;
import java.util.Scanner;
public class NewDate {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter the date in mm/dd/yyyy: ");
String str=sc.next();
switch (str) {
case 1: str.substring(0,2) = "January";
break;
case 2: str.substring(0,2) = "February";
break;
case 3: str.substring(0,2) = "March";
break;
case 4: str.substring(0,2) = "April";
break;
case 5: str.substring(0,2) = "May";
break;
case 6: str.substring(0,2) = "June";
break;
case 7: str.substring(0,2) = "July";
break;
case 8: str.substring(0,2) = "August";
break;
case 9: str.substring(0,2) = "September";
break;
case 10: str.substring(0,2) = "October";
break;
case 11: str.substring(0,2) = "November";
break;
case 12: str.substring(0,2) = "December";
break;
default: str.substring(0,2) = "Invalid month";
break;
}
System.out.println("Hello! This is day " + str.substring(3,5) +" of the month of " + str.substring(0,2) +" in the year of our Lord" + str.substring(6,10));
}
}
问题是数据类型,我希望将数字作为月份的月份替换为字符串(月份)示例:11 = 11 月
我该怎么做?
解决方案
首先,对于现实世界的编程,人们将使用LocalDate
标准库中的来保存日期并DateTimeFormatter
解析用户在LocalDate
. 请参阅底部的链接。
最根本的是,使用您的代码,您需要一个单独的String
变量来表示月份的名称。您不能将其分配回您已有的字符串中。只需在开始时声明String monthName;
并为其分配适当的值switch
。
此外,当str
是字符串且 1 是时int
,您不能打开str
并将 1 用作大小写标签。直接的解决方法是打开str.substring(0,2)
(月份数字作为字符串)并使用"01"
,"02"
等作为案例标签。另一种常见的解决方案是将月份数解析为一个int
(请参阅下面的其他链接或搜索如何执行此操作),然后按原样保留案例标签 1、2 等。
链接
- Oracle 教程:日期时间解释如何使用
java.time
. - 问题:如何在 Java 中将 String 转换为 int?
推荐阅读
- visual-studio-code - VScode Mac错误加载webview:错误:无法注册服务工作者
- python - 自定义标签映射熊猫
- python - 计算每个唯一 ID 的行驶距离总和
- r - 根据条件删除包含 NA 的行
- java - 使用 Selenium Webdriver 登录弹出窗口
- python - 使用 systemd 运行 Flask + gunicorn + selenium 应用程序会导致臭名昭著的错误:“DevToolsActivePort 文件不存在”
- react-native - 不应返回登录页面
- amazon-web-services - AWS CodeDeploy 代理在安装过程中删除了错误文件夹中的文件
- r - 如何在 R 中不同维度的两个表之间创建比率表?
- python - 如何在不下载或安装软件包的情况下获取 pip 命令将安装的软件包列表?