gpt4 book ai didi

java - 在 Java 中计算字符以外的所有内容

转载 作者:行者123 更新时间:2023-11-30 06:12:18 25 4
gpt4 key购买 nike

我需要打印除字母以外的所有字符。 (逗号、空格等)并显示它们。这是到目前为止的代码,

public static void main(String[] args) 
{
String a = "elephant";
String b = "ElEphAnt";
String c = "This is a string.";
String d = "i R gr8, u R gr8";
int ucounter = 0;
int lcounter = 0;
int dcounter = 0;
int ocounter = 0;

for (int i = 0; i < a.length(); i++)
{
if (Character.isUpperCase(a.charAt(i)))
ucounter++;
if (Character.isLowerCase(a.charAt(i)))
lcounter++;
if (Character.isDigit(a.charAt(i)))
dcounter++;
}
System.out.println("String: " + a );
System.out.println("\n");
System.out.println("\tlowercase: %d, uppercase: %d, digit: %d, other: " +ucounter);



}

我在让他们在计算数字后打印出数字时遇到了一个小问题,但这是我将自己解决的一个单独问题。我仔细阅读了论坛,似乎无法找到如何计算空格和特殊字符的方法。为此,我只能使用 length()charAt()。特殊字符的 Character.is?? 是什么?还是有一个?

最佳答案

不要只使用 if,而是使用 if/else 组合,这样你就可以确保你总是只遇到 一个 匹配大小写。然后,使用 Character.isWhitespace 检测空白,最后使用 !Character.isLetter(注意 !)检测除字母以外的所有内容。

使用 if/else 执行此操作很重要,否则最后的测试也会匹配数字、逗号、空格等。

来自 java.lang.Character.isLetter 的类文档:

A character is considered to be a letter if its general category type, provided by getType(codePoint), is any of the following:

关于java - 在 Java 中计算字符以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com