gpt4 book ai didi

java - 输入日期(MM/dd/yyyy)到字符串

转载 作者:行者123 更新时间:2023-12-01 19:50:24 24 4
gpt4 key购买 nike

你好,我是java新手我只是需要一些建议..

这就是我需要做的:用户输入日期 8/15/2018,控制台应该有输出:“Hello!This is day 15 of August in our Lord 2018.”

这是我的代码

    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 = 十一月

我该怎么做?

最佳答案

首先,对于现实世界的编程,可以使用标准库中的 LocalDate 来保存日期,并使用 DateTimeFormatter 来解析用户在 LocalDate< 中输入的日期。/。请参阅底部的链接。

最根本的是,在您的代码中,您需要一个单独的 String 变量来表示月份名称。您不能将其分配回您已有的字符串中。只需声明 String MonthName; 并在 switch 启动中为其分配正确的值。

此外,当 str 是字符串且 1 是 int 时,您无法打开 str 并使用 1 作为 case 标签。最简单的解决方法是打开 str.substring(0,2) (月份数字作为字符串)并使用 "01", "02" 等作为大小写标签。另一个常见的解决方案是将月份数字解析为 int (请参阅下面的其他链接或搜索如何执行此操作),然后保留案例标签 1、2 等,因为它们是.

链接

关于java - 输入日期(MM/dd/yyyy)到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51473069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com