繁体   English   中英

Java无效的数组大小

[英]Java invalid array size

我从console获取字符串输入。 如果我输入“abcd”并像这样溢出

Scanner input = new Scanner(System.in);
String[]stringInput = input.nextLine().toLowerCase().trim().split("");

假设我输入"abcd"作为输入, stringInput.length显示为5 但是,它应该是4对吗? 怎么了,我在这儿干什么? 任何想法 ? 我怎么解决这个问题?

最后有一个空字符串。

使用split("", -1)

....,数组可以有任何长度, 尾随空字符串将被丢弃

使用split("")在第一个索引处总是有一个额外的空数组元素

可以肯定的是,你可以尝试:

System.out.println(Arrays.toString(stringInput));

输出:

[, a, b, c, d]

在字符串之后总是有一个空的空间。所以你需要在你的情况下使用abcd和空格

Use split("", -1)

您可以使用split方法中的regex实现它,如下所示:

split("(?!^)")

查看有关正则表达式使用的更多详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM