String用法课后练习改编后无法出结果,求原因?

自己将课后练习改了可以用户自己输入的,并可以自己查询的,但是最后的次数变无法统计了。。不太清楚是什么原因,刚刚入手java,希望有大神帮忙看下

package com.imooc;
import java.util.Scanner;
/**
 * 
 * 功能:统计用户输入的字符串中,用户所需查询的字符出现的次数
 * 分析:可以通过循环遍历字符串中的每一个字符,判断是否是用户需要查询的字符,
 * 如果是,则可以累加统计出现的次数
 *
 */
public class test4 {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入你要定义的数组:");
		//定义一个字符串
		String s=input.next();
		System.out.println("请输入您要查询的元素:");
		//定义一个查询的字符
		String c=input.next();
		int num=0;//出现次数
		
		for (int i =0;i<s.length();i++){
			//依次获取每个字符,判断是否是字符c
			//if(s.charAt(i)==c){
			if(c.equals(s.charAt(i))){
				num++;//累加统计次数
			}
		}
		System.out.println("字符"+c+"出现的次数:"+num);
	}

}


陈纪堂
浏览 1500回答 3
3回答

ziom

s.charAt(i)返回的是一个char,而c是个String字符串,所以不能这么比较。应该要把s.charAt(i)返回的值转换成字符串,转换方式有两种,如下:if(c.equals(s.charAt(i)+"")){ // 通过加上一个空字符串""的方式                     num++;//累加统计次数 } if(c.equals(String.valueOf(s.charAt(i)))){ // 通过String的valueOf()方法                   num++;//累加统计次数 }求采纳!

时间啊

如图:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java