gpt4 book ai didi

java - (Java) 计算句子中的字母?

转载 作者:行者123 更新时间:2023-11-30 02:05:07 25 4
gpt4 key购买 nike

以下是我的代码:

char[] array = new char[26] ;

int index = 0 ;
int letter = 0 ;
int countA = 0 ;

String sentence = "Once upon a time..." ;

if(sentence.contains("."))
{
String sentenceNoSpace = sentence.replace(" ", "").toLowerCase() ;
String sentenceFinal = sentenceNoSpace.substring(0, sentenceNoSpace.indexOf(".")) ;
char[] count = new char[sentenceFinal.length()] ;
for (char c = 'a'; c <= 'z'; c++)
{
array[index++] = c ;
for(int i = 0; i < sentenceFinal.length(); i++)
{
if(sentenceFinal.charAt(i) == c)
count[letter++] = c ;
//if(sentenceFinal.charAt(i) == 'a')
//countA++ ;
}

}
String result = new String(count) ; // Convert to a string.
System.out.println("\n" + result) ;

System.out.println("\nTotal number of letters is " + result.length()) ;
System.out.println(countA) ;
}
else
{
System.out.println("You forgot a period. Try again.") ;
}

我无法计算给定句子中有多少个 a、b、c 等。我有一种方法可以做到这一点,就是这一部分

//if(sentenceFinal.charAt(i) == 'a')    
//countA++ ;

我可以一直创建到z。有没有更有效的方法?

注意:不要使用 Hashmap 或任何其他高级技术。

最佳答案

无需消除空格。这只是您正在做的额外工作。

int countOfLetters = 0 ;
String sentence = "Once upon a time..." ;
sentence = sentence.toLowerCase();
int[] countOfAlphabets = new int[26];
for (int i = 0; i < sentence.length(); i++) {
if (sentence.charAt(i) >= 'a' && sentence.charAt(i) <= 'z') {
countOfAlphabets[sentence.charAt(i) - 97]++;
countOfLetters++;
}
}

因此,countOfLetters 将为您提供字母总数。如果您想要单独计数,假设您想要 'c',

的计数

您可以通过访问 countOfAlphabets 数组来获取它,例如 countOfAlphabets['c' - 97](97 是 'a' 的 ASCII 值)

关于java - (Java) 计算句子中的字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51605038/

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