黑马程序员技术交流社区
标题:
统计出字符串中某字母出现的次数
[打印本页]
作者:
林康春
时间:
2012-2-22 14:56
标题:
统计出字符串中某字母出现的次数
本帖最后由 林康春 于 2012-2-24 17:19 编辑
/*
需求:编写程序,统计出字符串“want you to know one thing"字母n出现的次数。
*/
class StringDemo
{
public static void main(String[] args)
{
int a=0;
String str1 ="want you to know one thing";
for (int i=0;i<str1.length();i++)
{
if (str1.charAt(i)='n')
{
a++;
}
System.out.println("字母n出现的次数:"+a);
}
}
}
但出错了:
StringDemo.java:14: 意外的类型
需要: 变量
找到: 值
if (str1.charAt(i)='n')
^
1 错误
I:\java12.21\day8>
作者:
刘基军
时间:
2012-2-22 15:02
if (str1.charAt(i)='n') //等于应该是“==”,而不是“=”
作者:
欧阳博
时间:
2012-2-22 15:34
建议楼主下载一个开发工具吧,比如MyEclipse 这种编译错误都会提示的。
作者:
唐溪永
时间:
2012-2-22 15:44
楼主出现了2个问题,一个是if (str1.charAt(i)='n') //等于应该是“==”,而不是“=”,java中比较应该是==,=是赋值用的
第二个问题是,System.out.println("字母n出现的次数:"+a);应该放在,for循环外面 ,这个效率才高。
正确的代码应该是
public class StringDemo
{
public static void main(String[] args)
{
int a=0;
String str1 ="want you to know one thing";
for (int i=0;i<str1.length();i++)
{
if (str1.charAt(i) == 'n')
{
a++;
}
}
System.out.println("字母n出现的次数:"+a);
}
}
下面是用equals,解决这个问题,比上面好用
复制代码
package com.test;
public class StringDemo{
public static void main(String[] args){
String str = "want you to know one thing";
String chr = "n";
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (chr.equals(String.valueOf(str.charAt(i))))
count++;
}
System.out.println("字母n出现的次数" + count);
}
}
复制代码
作者:
温昌寿
时间:
2012-2-22 15:59
public static void main(String[] args) {
String str="i love you i i dsf si";
char s='i';
int count=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==s)
count++;
}
System.out.println(count);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2