Я пишу программу для назначения с использованием JTextArea, чтобы пользователь вручную вводил текст, а затем программа вычисляет простую статистику. Проблема, с которой я сталкиваюсь, заключается в том, что, когда я вычисляю среднюю длину каждого введенного слова, он вычисляется неправильно (ie: words: 2, символов: 6, средняя длина: 3, но моя программа в настоящее время говорит 3,5).
Я пробовал (double) и (float) и ничего перед (count ++) / words.length, чтобы посмотреть, были ли это ошибки округления программы, и это никак не влияет на вывод.
Я также подумал, что это может быть потому, что это подсчет пробелов '', поэтому я обнаружил фрагмент кода, который исключает пробел при подсчете символов введенной строки. @ https://www.quora.com/How-do-I-count-characters-in-a-string-in-Java-without-using-charcount
Я все еще новичок в Java, и помощь будет принята с благодарностью! Я чувствую, что это простое решение, просто то, чего я пока не вижу. Я включил часть кода, которая относится к этому, и все, что не включено, - это создание текстового поля, рамки и кнопок и т. Д. c ...
public void actionPerformed(ActionEvent event){
String parsedString = inputText.getText();
String delims = "[1234567890.,?!()*\\s]+";
String words[]=parsedString.split(delims);
char [] ch = parsedString.toCharArray();
int count=0;
for (int i = 0; i < ch.length; i++) {
if (ch[i]!=' '){
count++;
}
}
wordCounter.setText("Words inputed: " + words.length);
wordCharacters.setText("Characters:" + count++ );
wordAverage.setText("Average Length: " + (float) (count++)/words.length );
}