gpt4 book ai didi

java - 声明一个变量来存储字符串的第三个和第六个字符并测试它们是否是斜杠

转载 作者:行者123 更新时间:2023-11-30 02:47:25 25 4
gpt4 key购买 nike

我正在制作一个程序,要求用户以 mm/dd/yyyy 格式输入月份我必须确保斜线位于第三和第六位置。如果位置 3 和 6 的格式不正确(根据说明,但这并不意味着它实际上是 2 和 5),我必须在屏幕上打印“格式错误”。这是到目前为止我的代码。

    public static void main(String[] args) {
Scanner kbd = new Scanner(System.in);
System.out.println("Enter a date (mm/dd/yyyy):");
String date = kbd.next();
String slash1 = date.substring(3,3);
String slash2 = date.substring(6,6);
int numofChar = date.length();

if (numofChar < 10)
{
System.out.println("Too few characters in the date");
}
if (numofChar > 10)
{
System.out.println("Too many characters in the date");
}
if (!(slash1.equals("/") || slash2.equals("/")))
{
System.out.println("incorrect format");
}

说实话,我本可以让代码看起来更好,我已经在问题的这一部分上玩和切换代码两个小时了,这对我来说没有任何意义。我用不同的方法研究了这个问题,只是没有找到正确的方法。

所以,如果它看起来很困惑或完全偏离轨道,这可能就是原因。另外,我可能混淆了我所知道的一切,所以如果有更多错误,请帮助!

如何声明一个变量,用于存储位置 3 和 6 处的字符;然后测试两者是否都是斜杠?

最佳答案

您可以直接检查字符字符。无需使用子字符串

if (userInput.charAt(2).equals('/') && userInput.charAt(5).equals('/')) {}

但是,如果您想使用substring,您应该知道它是如何工作的。

public String substring(int beginIndex)

Returns a new string that is a substring of this string. The substring begins with the character at the specified index and extends to the end of this string.

public String substring(int beginIndex, int endIndex)

Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.

所以还有另一种方法:

String slash1 = userInput.substring(2,2);
String slash2 = userInput.substring(5,5);

if (slash1.equals("/") && slash2.equals("/")){}

小心! 字符串由双引号中的字符表示"",字符由单引号中的单个char字符表示 ''

另一件事可能对您有帮助,如果您知道某个东西是 String,请将其声明为 String。当您声明它是一个对象时,就会丢失数据。如果它是一个String,那么它必须是一个Object!

关于java - 声明一个变量来存储字符串的第三个和第六个字符并测试它们是否是斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39743263/

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