【发布时间】:2014-10-16 22:41:33
【问题描述】:
我正在尝试用useDelimiter 解析像"dd/mm/yyyy" 这样的日期格式,但遇到了一个奇怪的问题。我使用了下面的代码,在 Ubuntu 终端上运行良好。
Scanner k = new Scanner(System.in);
k.useDelimiter("/|\n");
String day,month,year;
day = k.next(); month = k.next(); year = next();
System.out.println(day + "/" + month + "/" + year);
int d = Integer.parseInt(day);
int m = Integer.parseInt(month);
int y = Integer.parseInt(year);
但是在 Windows 上,当我将此代码复制到 Eclipse 时,它会在以下位置出现错误:
int y = Integer.parseInt(year);
我找到了造成这种情况的原因。当我打印“年”时,它会打印 2014 年,但 2014 的末尾有一些空格,因此无法正确解析整数。我通过将 Eclipse 中的代码更改为:
year = next().trim();
但是:
我的问题是,相同的代码怎么可能在 Ubuntu 上运行,但在 Windows 平台上却不行?
【问题讨论】:
标签: java eclipse windows parsing ubuntu