вот мой код:
import java.util.Scanner;
public class LetterCounter {
public static void main(String[] args)
{
int frequency = 0 ;
char character = ' ' ;
String linesOfText = " " ;
int letterTotal = 0 ;
char[] alphabet = new char[26] ;
for(char ch = 'a'; ch <= 'z'; ++ch) {
alphabet[ch-'a']=ch ;
}
System.out.println("Please enter some lines of text followed by a period.") ;
Scanner keyboard = new Scanner(System.in);
int count = 1;
char sentinel = '.' ;
char sentenceChar = ' ' ;
String entry = " " ;
while(sentenceChar != sentinel)
{
System.out.print(count + ": ");
entry = keyboard.nextLine();
sentenceChar = entry.charAt(entry.length()-1);
linesOfText = linesOfText + entry.toLowerCase() ;
count ++;
if(linesOfText.contains("."))
{
break ;
}
}
for (int i = 0; i < alphabet.length; i++)
{
frequency = 0 ;
for (int j = 0; j < linesOfText.length(); j++)
{
character = linesOfText.charAt(j) ;
if (character == alphabet[i])
{
frequency++ ;
}
}
System.out.println(alphabet[i] + "\t\t" + frequency) ;
letterTotal += frequency ;
}
System.out.println("Total Character(s):" + letterTotal);
}
}
Вывод:
Пожалуйста, введите несколько строк текста, за которыми следует точка. 0: sdfldsfksjdfl. a 0 b 0 c 0 d 3 e 0 f 3 g 0 h 0 i 0 j 1 k 1 l 2 m 0 n 0 o 0 p 0 q 0 r 0 s 3 t 0 u 0 v 0 w 0 x 0 y 0 z 0 Всего символов: 13
Мне нужно, чтобы вывод выглядел следующим образом:
a: 3 Character(s)
c: 1 Character(s)
h: 2 Character(s)
s: 1 Character(s)
u: 1 Character(s)
, и, пожалуйста, помогите удалить O, который находится на моей второй строке вывода под моим предложением с просьбой ввести строку текста.