JAVA程序中如何输出一个字符串中相同字符的个数

在一个JAVA程序中 , 我定义了一个字符串 字符串当中有符号_ ,譬如 String string=_str_num_shut_ 这个字符串中有4个_,我如何通过一段代码知道有几个_ ,还有如何截取第三个_前面的字符串

JAVA程序中如何输出一个字符串中相同字符的个数,代码如下:

import java.util.HashMap;
import java.util.Map;


public class TestC {
public static void main(String[] args){
//要统计字符个数的字符串
String str="abcdeab";
//每个字符和个数都存放在集合中,
Map<Character,Integer> map=new HashMap<Character,Integer>();
//遍历字符串
for(int x=0;x<str.length();x++){
//获取字符
char c=str.charAt(x);
//判断该字符是否存在集合
if(map.get(c)==null){
//不存在就存进去
map.put(c, 1);
}else{
//存在了就加一
int count= map.get(c)+1;
map.put(c, count);
}

}
//输出每个字符的出现次数
System.out.println(map);
}
}

输出结果:
{d=1, e=1, b=2, c=1, a=2}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-05
详细代码如下:
package com.week27.tranning01;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;

public class SameChar {
public static void main(String[] args) {
//通过键盘录入任意字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入任意一个字符串:");
//再将字符串转换为数组arr
char[] str = sc.nextLine().toCharArray();
//设置一个map集合用来进行统计Character代表字符 Integer代表数量
Map<Character,Integer> map = new HashMap<Character,Integer>();
//使用value 和 Key的对应 关系来取得 重复的有多少个
for (char c : str) {
Integer count = map.get(c);
if(count==null){
//如果是第一次出现则value值为1
map.put(c, 1);
}else{
//如果不是第一次出现则++value
map.put(c,++count);
}
}
//将map 使用迭代器导出
Iterable<Entry<Character,Integer>> entry = map.entrySet();
for (Entry<Character, Integer> s : entry) {
System.out.println(s.getKey()+"有"+s.getValue()+"个");
}

}
}
第2个回答  2013-07-24
可以调用:
public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。 此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。 limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。 如:String str = "_ _ _ _ _ _ _ _ _";int num = str.split("_", -1).length - 1;
第3个回答  2013-07-24
用string下面的split方法就行了。伪代码如下:string[] a = string.split(new char('_')),会把字符串拆分成以_分隔的几个字符串_的个数就是数组a.length-1,第3个前面的么就是a[3]本回答被网友采纳
第4个回答  2013-07-24
两次遍历加上charAt(i)方法可以实现统计~~~

JAVA程序中如何输出一个字符串中相同字符的个数
JAVA程序中如何输出一个字符串中相同字符的个数,代码如下:import java.util.HashMap;import java.util.Map;public class TestC {public static void main(String[] args){\/\/要统计字符个数的字符串String str="abcdeab";\/\/每个字符和个数都存放在集合中,Map<Character,Integer> map=new HashMap...

java中 如何统计一段字符串中相同字符的个数
通过循环遍历字符串,然后一个个的比较,记下相同字符的个数就行了。代码如下:import java.util.Scanner;import java.util.TreeMap;\/** * 从键盘输入16位长整数,编程统计每个数字出现的个数 * @author young * *\/public class CharMapDemo {\/\/ 统计数字或者字符出现的次数public static TreeMap<Ch...

Java中判断字符串中相同字符的个数
\/\/根据输入的字符,保存在map集合中,map集合中的key代表字符,value代表字符个数 public static Map<char,int> count(String){ Map<char,int> charMap=new HashMap<char,int>();char [] cs=String.toCharArray();for(char c:cs){ charMap.put((charMap.get('c'))==0?1:charMap.get('c')...

java中怎样判断字符数组中相同元素的个数
public static void main(String[] arg) { \/\/你要测试的字符串 String testChar = "aaaasss";\/\/ 记录某个字符出现的个数,在这里是'a'int count = 0;\/\/将字符串变为字符数组 char[] ch = sc.next().toCharArray();\/\/循环判断是否有字符'a'for (char a : ch) { switch (a) { \/...

java 统计路径下所有文件中相同字符串出现的次数?
在Java中,可以使用File类和FileReader类来遍历路径下的所有文件,并使用BufferedReader类来读取文件中的内容。以下是一个简单的Java程序,用于遍历路径下的所有文件,并统计文件中字符串“R603”出现的所有次数:以上程序每一行只统计一次,若需要区分每一行个数,可增加以下代码示例:♡♡ 有...

java如何返回一个字符串中包含某字符的个数?
思路很多,如果会正则,用正则,不过这个有一个更简单点的方法 String[] strs = parent.split(son, -1); \/\/用son字符串批分字符串,-1是为了避免在最后出现连续的son字符串并且没有内容。具体可以看看API strs.length() - 1 就是包含son的个数 ...

java一个定常字符串,求出相邻两个相同元素出现的次数
public class Test {public static void main(String[] args) {String s="asdfddfangaanaassdss";String arr[],srr[],str="";StringBuilder stb=new StringBuilder();for (int i = 0; i < s.length()-1; i++) if(s.charAt(i)==s.charAt(i+1)) stb.append(s.substring(i,i+2)+...

写java程序 找出integer. string两个字符串中所有共同的字符
int j=0;j<ch2.length;j++){ if(ch1[k]==ch2[j]){\/\/比较字符是否相等 i++;sb.append(ch1[k]+",");\/\/将一样的字符拼接成一个字符串,如果有其他要求可以自己写 } } } System.out.println(ii);\/\/输出相同字符的个数 System.out.println(sb.toString());\/\/输出一样的字符 } ...

JAVA 对于给定的一个字符串,统计其中数字字符出现的次数.
public class Util { public static void main(String[] args) { String[] arr = {"1","2","1","1"}; int num = 0,weizhi = 0; for(int i = 0; i < arr.length; i++){ if("1".trim().equals(arr[i])){ weizhi = weizhi+1; System.out.println(...

java语言中如何获取字符串中汉字的个数
在Eclipse中新建项目ChineseCharacter,并在其中创建一个ChineseCharacter.java文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用matches()方法来统计该字符串中汉字的个数。核心代码如下所示:protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=chinese...

相似回答