Java无效数组大小
我从Java无效数组大小,java,string,Java,String,我从控制台获取字符串输入。如果我输入“abcd”并以这种方式拆分 Scanner input = new Scanner(System.in); String[]stringInput = input.nextLine().toLowerCase().trim().split(""); 假设我输入了“abcd”作为输入,stringInput.length显示为5。但是,它应该是4对吗?怎么了,我在这里干什么?有什么想法吗?我如何解决这个问题?结尾有一个空字符串 使用 ..,数组可以有任何长度
控制台
获取字符串输入。如果我输入“abcd”并以这种方式拆分
Scanner input = new Scanner(System.in);
String[]stringInput = input.nextLine().toLowerCase().trim().split("");
假设我输入了
“abcd”
作为输入,stringInput.length
显示为5
。但是,它应该是4
对吗?怎么了,我在这里干什么?有什么想法吗?我如何解决这个问题?结尾有一个空字符串
使用
..,数组可以有任何长度,并且尾部的空字符串将被丢弃
字符串后面总是有一个空格。因此您需要使用 在您的情况下,
abcd
和一个空格
Use split("", -1)
使用split(“”)
时,在第一个索引处总是有一个额外的空数组元素
当然,您可以尝试:
System.out.println(Arrays.toString(stringInput));
输出:
[, a, b, c, d]
您可以在split方法中使用regex实现它,如下所示:
split("(?!^)")
String.split()确实不是从字符串中提取单个字符的方法。使用charAt()或substring()或toCharArray()。阅读有关方法split的工作原理,您将得到您的答案。。。。。。