gpt4 book ai didi

java - 查找字符串中的下一个字符?

转载 作者:太空宇宙 更新时间:2023-11-04 07:54:52 24 4
gpt4 key购买 nike

我有一个java编程作业,你必须在一行中输入一个日期,它会根据日期为你提供一个命理学(类似星座的)报告。假设用户将输入一个格式化的日期,并用空格分隔。

我可以使用 in.nextInt() 检索输入的月、日和年。但是,我还必须检查用户是否为日期的每个部分使用了正确的分隔字符,这意味着我只需要检查用户是否使用了正斜杠。

当查看下面的代码时,我当前使用 charAt() 来查找分隔字符。问题是日期并不总是 14 个字符长。因此,10/17/2004 形式的日期有 14 个字符长,但 4/7/1992 的日期只有 12 个字符长,这意味着“slash1”并不总是在 .charAt(3) 中,在后一种情况下它会在 .charAt(2) 中。

java 是否有允许类似 in.nextChar() 的方法?我知道事实并非如此,但是我怎样才能找到日期中的下一个字符呢?

编辑:我最初忘记反射(reflect)这一点,但我的教授说,出于某种原因,我们不允许使用 String.split() 方法。问题是,我对月份、日期和年份的了解非常好。我只需要检查该人是否使用正斜杠来分隔日期。如果输入破折号,则日期无效。

public void getDate()
{
char slash1, slash2;

do
{
System.out.print("Please enter your birth date (mm / dd / yyyy): ");
Scanner in = new Scanner(System.in);
String date = in.nextLine();

month = in.nextInt();
day = in.nextInt();
year = in.nextInt();

slash1 = date.charAt(3);
slash2 = date.charAt(8);
} while (validDate(slash1, slash2) == false);

calcNum();
}

最佳答案

你可以考虑用"/"分割输入的日期字符串,然后你得到一个字符串数组。下一步是将数组中的每个字符串转换为 int。

关于java - 查找字符串中的下一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772593/

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