[英]How to count character occurrences in a string from command line arguments - Java
我需要计算在命令行中传递的字符串中字符的出现次数。 例如,如果我们传递一个句子“面包是湿的”,并且我们正在寻找字符“e”的出现,程序应该输出每个单词的出现“e”:1 1 0 1。
我是Java的新手,我想出的东西不起作用:
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < args.length; i++) {
// System.out.println(args[i]+" ");
if (args[i].charAt(i) == 'e') {
count++;
}
System.out.println(count);
}
}
显然,args [i] .charAt(i)在这里是错误的,因为它看起来像是第一个单词的第一个字母。 但是,args.charAt(i)甚至不起作用。 我不知道如何解决这个问题并获得正确的输出。
要解决它,你需要有两个循环。
你现在正在做的你是拿i
与代表争论的位置args[i]
好),并用相同的i
试图获取字符charAt(i)
错误的)。
换句话说,对于第一个参数,您只检查第一个字符,第二个,第二个,...,对于n参数,检查该参数的n个字符。
为避免将来出现此类问题,请尝试使用更多功能,功能应侧重于单个问题
public static void countCharOccurence(String input, char search) {
int cound = 0;
for(int i=0; i< input.length; i++){
if(search == input.getAt(i) {
count++;
}
}
}
尝试在main方法中添加它。 祝好运。
像这样的东西(第一个循环遍历参数数组,第二个循环遍历特定参数):
int count = 0;
for(int i=0; i<args.length; i++ ){
count = 0;
for (int j = 0; j<args[i].length();j++){
if (args[i].charAt(j) == 'e'){
count++;
}
}
System.out.println(count+" ");
}
你需要一个循环通过args [i]的第二个循环
public static void main (String[] args) {
int count = 0;
for(int i=0; i<args.length; i++ )
{
int count = 0;
//System.out.println(args[i]+" ");
String test = args[i];
for(int j=0;j<test.length();j++)
{
if (args[i].charAt(j) == 'e'){
count++;
}
}
System.out.println(count);
}
}
你需要这样做......
public static void main(String ar[])
for(String a:ar)
{
char b[] = a.toCharArray();
for(char c:b)
{
if(c='e')
{
// do some code
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.