楼主出现了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);
-
- }
- }
复制代码 |