先输入字串与想要统计的字元,然后遍历字串的每一个字元,进行统计。
程式码:
import java.text.ParseException
import java.util.Scanner
class DemoA *** {
public static void main(String[] args) throws ParseException {
Scanner sc =new Scanner(System.in)
输入字串
String str=sc.nextLine()
输入字元
String str1=sc.nextLine()
遍历字串
int sum=0
for(int i=0i<str.length()i++){
if(str.substring(i, i+1).equals(str1)){
sum++统计
}
}
System.out.println(str1+"出现了"+sum+"次")
}
}
privatestaticvoidma2(){Scannerscanner=newScanner(System.in)System.out.println("输入内容..")Strings=scanner.nextLine()Mapmap=newHashMap()for(inti=0i>entry=map.entrySet()for(Entrye:entry){System.out.println("值:"+e.getKey()+"--次数:"+e.getValue())}}简单写了下可能不标准
用c语言编写一个程式,用于接收一个字串,并统计某字元在该 字串中出现的次数
#include<stdio.h>
#define MAX 100
void main()
{
char str[MAX], ch
int i=0, t=0
printf("Input a string:")
gets(str)
printf("Input a char:")
ch = getchar()
while(str[i++])
if(str[i-1]==ch)
t++
printf("\nThere are %d '%c's in string '%s'.\n", t, ch, str)
}
C++ 输入一个字串,统计出某个指定的字元在该字串中出现的次数。
#include<iostream>
#include<string>
using namespace std
void main()
{
char *p,a[81]
int n,i
cout<<"请输入一个字串:"<<endl
cin.getline(a,81)
char search
cout<<"请输入要检索的字元:"<<endl
cin>>search
p=a
n=0
for(i=0i<strlen(a)i++)
{
if(search==*p)
n++
*p++
}
cout<<n<<endl
}
在Java中,输入一个字串,再输入一个字元,判断该字元在该字串中出现的次数(使用substring()方法)
import java.util.Scannerpublic class Substring { public void Sub() { int times=0String zfc=new Scanner(System.in).next() String zf=new Scanner(System.in).next() for(int i=0i<zfc.length()-1i++) { String sub=zfc.substring(i, i+1) if(sub.equals(zf)){ times++ } } System.out.println("出现的次数为:"+times) } public static void main(String[] args) { new Substring().Sub() }}
利用指标的概念,编写一个字串统计函式,输入一个字串,统计并返回该字串的个数
#include <stdio.h>
main()
{
char arr[50],*ptr=arr
int sum=0
gets(ptr)
while(*ptr++!='\0')
sum++
printf("%d\n",sum)
}
求大神编一个简单的JAVA程式: 输入一个字串,然后由程式统计并输出在该字串中每个字元出现的次数。
import java.util.Scanner
public class FruitImp {
public static void main(String[] args) {
String str = new Scanner(System.in).nextLine()
用一个二维阵列存放字元和对应的字数
用阵列的缺点是空间浪费 可以用map 或别的代替这里就用阵列简单点
int arr[][] = new int[2][str.length()]
for(int i=0i<str.length()i++){
boolean isExist = false字元是否存在标志
for(int j=0j<str.length()j++){
if(str.charAt(i)==arr[0][j]){
arr[1][j]++
isExist = true
}
}
全部回圈完成后,如果存在,数目加1,存在标志变为true,如果标志还是false则把这个字元加到数组里
if(!isExist){
arr[0][i]=str.charAt(i)
arr[1][i]=1
}
}
for(int k=0k<str.length()k++){
if(arr[0][k]!=0){
System.out.println("字元"+(char)arr[0][k]+"的数目为"+arr[1][k])
}
}
}
}
编写一个方法统计一个字元在某字串中的出现次数;
char ch
char *pstr
int n=0
while( *pstr != '\0)
{
if(*pstr == ch) n++
pstr++
}
return n
这是我刚根据你的需求写的,你可以参考一下!
我办法很简单,拆分存放数组里面,然后查找数组就可以了!其实还有更简单的办法,直接用容器比较方便,目前这个办法我自己用数组写的,我个人挺满意的! import java.util.Scanner
public class 统计次数
{
private static Scanner sc=new Scanner(System.in)
public static void main(String[] args)
{
System.out.println("\n\t\t==========统计字符串中字符次数==========\n")
init()
}//初始化!
private static void init()
{
for ( )
{
System.out.println("输入文字:")
char[] arr1=fenJie(input())
System.out.println("查找的字:")
char x=muBiao(fenJie(input()))
int y=chaZhao(arr1,x)
System.out.println("你要找的是\""+x+"\",出现"+y+"次\n===============\n")
}
}
//录入!
private static String input()
{
String s=sc.next()
return s
}
//分解!
private static char[] fenJie(String s)
{
char[] arr=new char[s.length()]
for (int i=0i<s.length() i++ )
{
arr[i]=(char)(s.charAt(i))
}
return arr
}
//查找!
private static int chaZhao(char[] arr,char x)
{
int num=0,tem=-1
for (int a=0,b=arr.length-1a<=b a++,b-- )
{
if(a!=b&&arr[a]==x)num++
if(a!=b&&arr[b]==x)num++
if((a==b)&&(arr[a]==x||arr[b]==x))num++
tem=num
}
return tem
}
//目标
private static char muBiao(char[] arr)
{
return arr[0]
}
}
思路:先输入字符串与想要统计的字符,然后遍历字符串的每一个字符,进行统计。
代码:
import java.text.ParseException
import java.util.Scanner
class DemoAsm{
public static void main(String[] args) throws ParseException {
Scanner sc =new Scanner(System.in)
//输入字符串
String str=sc.nextLine()
//输入字符
String str1=sc.nextLine()
//遍历字符串
int sum=0
for(int i=0i<str.length()i++){
if(str.substring(i, i+1).equals(str1)){
sum++//统计
}
}
System.out.println(str1+"出现了"+sum+"次")
}
}