private void updateCounts() { String text = textField.getText().trim(); int wordCount = countWords(text); int numberCount = countNumbers(text); wordCountLabel.setText("单词数:" + wordCount); numberCountLabel.setText("数字数:" + numberCount); wordArea.setText(getWords(text)); numberArea.setText(getNumbers(text)); } 与上述代码相呼应,数字数量不纳入单词数量中
时间: 2024-03-03 16:49:35 浏览: 113
在`updateCounts()`中,数字数量不纳入单词数量中,可以单独计算数字数量并显示在`numberCountLabel`标签中。以下是修改后的代码:
```
private void updateCounts() {
String text = textField.getText().trim();
int wordCount = countWords(text);
int numberCount = countNumbers(text); // 计算数字数量
wordCountLabel.setText("单词数:" + wordCount);
numberCountLabel.setText("数字数:" + numberCount); // 显示数字数量
wordArea.setText(getWords(text));
numberArea.setText(getNumbers(text));
}
```
这样修改后,单词数量和数字数量分别计算并显示在不同的标签中,数字数量不会纳入单词数量中。
相关问题
import org.apache.flink.api.scala._ object WordCount { def main(args: Array[String]): Unit = { //第1步:建立执行环境 val env = ExecutionEnvironment.getExecutionEnvironment //第2步:创建数据源 val text = env.readTextFile("/usr/local/hadoop/books/book/book_leixing.txt") //第3步:对数据集指定转换操作 val counts = text.flatMap { _.toLowerCase.split(" ") } .map { (_, 1) } .groupBy(0) .sum(1) // 第4步:输出结果 counts.print() } }
这是一个使用 Apache Flink 实现的 WordCount 程序。程序的主要逻辑分为四步:
1. 建立执行环境(Execution Environment)
2. 创建数据源,读取文本文件
3. 对数据集进行指定的转换操作,包括将文本转换为小写字母、按照单词分割、计数、分组等操作
4. 输出结果,将结果打印到控制台
这个程序可以统计指定文本文件中每个单词出现的次数。
cum_counts = np.cumsum(np.greater(counts, 0, dtype=np.int32))
这行代码的作用是计算一个数组中大于0的元素数量的累积和。具体解释如下:
- np.greater(counts, 0, dtype=np.int32):比较数组counts中的每个元素是否大于0,返回一个由True和False组成的布尔型数组。
- np.cumsum():对数组中的元素进行累积求和,返回一个与原数组大小相同的数组。
- np.cumsum(np.greater(counts, 0, dtype=np.int32)):这里将上面两个步骤结合起来,计算了counts数组中大于0的元素数量的累积和,得到了一个新的数组cum_counts。
例如,如果counts=[1, 2, 0, 3, 0, 0, 4],则np.greater(counts, 0, dtype=np.int32)=[1, 1, 0, 1, 0, 0, 1],np.cumsum(np.greater(counts, 0, dtype=np.int32))=[1, 2, 2, 3, 3, 3, 4],因此cum_counts=[1, 2, 2, 3, 3, 3, 4]。
阅读全文