java - 如何计算字符串中某个字母的出现次数
问题描述
只是有一个问题。我的班级有一个练习实验室作业,我试图从用户输入中获取字母“a”的出现次数。如果我输入:“apples apples apples”,输出将根据需要打印用户字符串,但最后不是给我数字 3,而是给 123...我想要输出:“apples apples apples3”而不是“apples苹果 apples123" 提前感谢您的帮助。
这是我的代码:
import java.util.Scanner;
public class labnextLine {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input;
int count = 0;
System.out.print("Enter a string:");
input = in.nextLine();
System.out.print(input);
for (int i = 0; i < input.length(); i++) {
if(input.charAt(i) == 'a') {
count = count + 1;
System.out.print(count);
}
}
}
}
解决方案
为此,您只需要count
在循环之外打印,这将提供您想要的输出。
如果使用 Java 8,您可能想尝试另一种方法:
long count = input.chars().filter(ch -> ch == 'a').count();
System.out.print(count);
推荐阅读
- php - 基于用户在 Woocommerce 中购买的总金额的自定义购物车通知
- git - How to trigger a bash script only after a merge request is merged?
- azure-cognitive-search - 如何将 Azure 搜索服务端点添加到流量管理器
- javascript - Node js - 如何访问 SOAP WebService?
- azure-digital-twins - 空间图 - 对象可以有多个父对象,如何移动它们,以及包含哪些选项?
- kubernetes - Kubernetes - StatfulSets,如何将有状态实例与节点挂钩?
- android - 我需要将我的 APP 迁移到 Android Studio 3.2.1 中的 AndroidX 库吗?
- node.js - 在 ElectronJS 中使用 toJpeg 纠正错误
- python - 给定一个hdfs路径,我怎么知道它是一个文件夹还是一个带有python的文件
- angular - 如何以角度反应形式设置输入值的货币格式?