在java中的scanner.nextInt()之后返回上一行

时间:2014-06-29 10:25:00

标签: java string algorithm date

我正在开发一个程序,该程序从用户那里获取日期:

Scanner scanint;
System.out.println("Date(DD/MM/YYYY): ");
scanint = new Scanner(System.in);//I'm actually using try-catch here
int day = scanint.nextInt();
System.out.print("/");
int month = scanint.nextInt();
System.out.print("/");
int year = scanint.nextInt();

我希望程序显示的是:

  

日期(DD / MM / YYYY):(用户输入日期)/(用户输入月份)/(用户输入年份)

程序实际显示的是:

  

日期(DD / MM / YYYY):(用户输入日期)

     

/(用户输入月份)

     

/(用户输入年份)

我意识到这里的问题是当你在使用Scanner类后按回车键时程序返回到下一行。我考虑将其存储在一个字符串中,这样我就可以使用substring方法删除换行符。但是,如果我这样做,我将如何能够获取用户输入,打印出该字符串并将所有内容同时保留在同一行?

1 个答案:

答案 0 :(得分:0)

简单的方法是清理所有控制台输出:

Runtime.getRuntime().exec("cls");

示例:Java: Clear the console