使用正斜杠作为扫描仪分隔符

发布于 2024-12-06 21:23:44 字数 498 浏览 0 评论 0原文

我正在尝试使用 扫描仪MM/DD/YYYY 格式从用户处获取日期,并使用分隔符 / 来执行此操作,但只要用户输入数据应用程序停止继续。如果我只使用标准空格分隔符,它将如何工作。

    Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("/");

System.out.print("Birth Date (MM/DD/YYYY) ");
birthMonth = scanner.nextInt();
birthDay = scanner.nextInt();
birthYear = scanner.nextInt();

I'm trying to use a Scanner to get a date from the user in MM/DD/YYYY format and using a delimiter / to do so, but as soon as the user inputs data the application ceases to continue. It will work how ever if I simply use the standard space delimiter.

    Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("/");

System.out.print("Birth Date (MM/DD/YYYY) ");
birthMonth = scanner.nextInt();
birthDay = scanner.nextInt();
birthYear = scanner.nextInt();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

听,心雨的声音 2024-12-13 21:23:44

您唯一的分隔符是 / 而不是换行符。这意味着您必须在年份后输入 / 或添加换行符作为分隔符。

尝试

scanner.useDelimiter("[/\n]");

Your only delimiter is / not newline. This means you have to type / after the year or add newline as a delimiter.

Try

scanner.useDelimiter("[/\n]");
蓝眼睛不忧郁 2024-12-13 21:23:44

您必须接受斜杠和换行符,否则提示将不会将控制权返回给用户。

import java.util.Scanner;

public class Test {

        public static void main( String[] args ) {

                Scanner scanner = new Scanner( System.in );
                scanner.useDelimiter( "[/\n]" );

                System.out.print( "Birth Date (MM/DD/YYYY) " );
                int birthMonth = scanner.nextInt();
                int birthDay = scanner.nextInt();
                int birthYear = scanner.nextInt();
                scanner.close();

                System.out.printf( "Day(%02d), Month(%02d), Year(%04d)%n", birthDay, birthMonth, birthYear );
        }
}

You have to accept slash and new line characters or the prompt will not return the control to the user.

import java.util.Scanner;

public class Test {

        public static void main( String[] args ) {

                Scanner scanner = new Scanner( System.in );
                scanner.useDelimiter( "[/\n]" );

                System.out.print( "Birth Date (MM/DD/YYYY) " );
                int birthMonth = scanner.nextInt();
                int birthDay = scanner.nextInt();
                int birthYear = scanner.nextInt();
                scanner.close();

                System.out.printf( "Day(%02d), Month(%02d), Year(%04d)%n", birthDay, birthMonth, birthYear );
        }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文