【发布时间】:2015-09-20 22:46:42
【问题描述】:
这就是我尝试做的,我尝试将我的字符串 args 拆分为一个更小的 type-char 数组,希望我可以捕获单词之间的“空白空间”。
只有0,我做错了什么?我确保我包含了所有基于 ascii 表的不可见字符。D:
String args 是顺便传递的参数。
public static void showInvisibleCharacters(String[] args) {
String words = "";
int invisibleOccurenceCount = 0;
char[] seperatedWords = words.toCharArray();
for (int counter = 0; counter < words.toCharArray().length - 1; counter++) {
if (seperatedWords[counter] == (char) 9) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 10) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 13) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 28) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 29) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 30) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 31) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 32) {
invisibleOccurenceCount++;
} else if (seperatedWords[counter] == (char) 160) {
invisibleOccurenceCount++;
}
}
System.out.println("Number of invisible occurences: "
+ invisibleOccurenceCount);
}
}<code>
【问题讨论】:
-
分享你的错误记录
-
char数组长度为0,for循环不执行。
-
为什么你认为你的字符串中有“不可见字符”。大多数字符串不包含这些“不可见字符”。如果你想看到它们,你必须故意把它们放在那里。除了代码 32 是一个正常的空间,所以它肯定不是不可见的。而且160是一个不破的空间,也很显眼。并且 10 和 13 分别是换行符和回车符,因此可以将它们视为换行符。
标签: java arrays if-statement count ascii