我试图解决的另一个问题(注意到--这不是家庭作业,而是突然出现在我脑海中的问题),我正在努力提高我的问题解决技巧。我想展示这个:
中转站,中转站
卡罗尔McKane公司的产品920
詹姆斯·埃里尔( James Eriol )
埃莱尼·黑色克公司
我想要做的是在第三列,显示字符的数目,而不计算空格。给我点建议。或者告诉我Java的健壮API,因为我还不太熟悉Java的string。谢谢。
发布于 2012-10-05 06:27:48
可能是最短和最简单的方法:
String[][] students = { { "Carol McKane", "James Eriol", "Elainee Black" }, { "920", "154", "462" } };
for (int i = 0 ; i < students[0].length; i++) {
System.out.println(students[0][i] + "\t" + students[1][i] + "\t" + students[0][i].replace( " ", "" ).length() );
}替换(),替换字符串的每个子字符串(“"),并从返回的结果中移除它,从这个时态字符串中,如果没有空格,就可以通过调用length()来获得长度.字符串名称将保持不变。
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
干杯
发布于 2012-10-05 06:27:20
考虑解决一个问题,并提出两个非常不同的步骤的答案。我不会帮助您处理表中的演示文稿,但是要计算字符串中的字符数(没有空格),可以使用以下方法:
String name = "Carol McKane";
int numberOfCharacters = name.replaceAll("\\s", "").length();正则表达式\\s匹配name字符串中的所有空白字符,并将它们替换为"",否则什么都不会。
发布于 2012-10-05 06:27:27
听起来你只是想要:
public static int countNonSpaces(String text) {
int count = 0;
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) != ' ') {
count++;
}
}
return count;
}您可能希望将其修改为使用Character.isWhitespace,而不是只检查' '。还请注意,这将把基本多语言平面之外的对计数为两个字符。这对你来说是否是个问题取决于你的用例.
https://stackoverflow.com/questions/12740631
复制相似问题