⑴ java统计文本文件中的字母、数字、汉字和符号
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class TestForOne {
public static void main(String[] args) {
String s=GetFiles("d:\\111.txt","",1);
WriteFiles(s);
}
public static String GetFiles(String BasePath,String Content, int f) {
/*
* 读写文件操作
*/
String s, s2 = new String();
try {
if (f == 1) {
BufferedReader in = new BufferedReader(new FileReader(BasePath));
while ((s = in.readLine()) != null) {
s2 += s + "\n";
}
in.close();
}
if(f==2)
{
PrintWriter out1=new PrintWriter(new BufferedWriter(new FileWriter(BasePath)));
out1.println(Content);
out1.close();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
return s2;
}
}
public static void WriteFiles(String s)
{
/*
* 对目标内容进行 判断 然后分别写入对应的 文件中
*/
String zimu="",shuzi="",hanzi="",qita="";
for(int i=0;i<s.length();i++)
{
if( ((s.charAt(i))>='A' && (s.charAt(i))<='Z') || ((s.charAt(i))>='a' && (s.charAt(i))<='z') )
{
zimu+=s.charAt(i);
continue;
}
if(s.charAt(i)>='0' && s.charAt(i)<='9')
{
shuzi+=s.charAt(i);
continue;
}
if(s.charAt(i)>=0x0391 && s.charAt(i)<=0xFFE5)
{
hanzi+=s.charAt(i);
continue;
}
else
{
qita+=s.charAt(i);
continue;
}
}
String content[]={zimu,shuzi,hanzi,qita};
String temp[]={"d:\\zimu.txt","d:\\shuzi.txt","d:\\hanzi.txt","d:\\qita.txt"};
for(int i=0;i<content.length;i++)
{
GetFiles(temp[i],content[i],2);
}
}
}
⑵ 用java实现统计有多少种字母,每个字母的个数
importjava.util.HashMap;
publicclassJButtonTest
{
publicstaticvoidmain(Stringargs[])
{
Stringinput="016a8b9c213d20df0G9E";
Stringregex="(?i)[^a-z]";
Stringresult=input.replaceAll(regex,"");
System.out.println(result);
HashMap<String,Integer>map=newHashMap<String,Integer>();
for(inti=0;i<result.length();i++)
{
Stringone=result.charAt(i)+"";
if(null==map.get(one))
{
map.put(one,1);
}
else
{
map.put(one,map.get(one)+1);
}
}
System.out.println(map);
}
}
⑶ java 统计字符串中字母的个数,如何修改
importjava.util.Scanner;
/**
*统计字符串中数字,字母,空格,其他字符的个数
*@authorAdministrator
*
*/
publicclassData01{
publicstaticvoidmain(String[]args){
intenglishCount=0;//英文字母个数
intspaceCount=0;//空格个数
intnumCount=0;//数字个数
intotherCount=0;//其他字符个数
Scannersc=newScanner(System.in);
System.out.println("请您输入一行字符:");
Stringstr=sc.nextLine();//取得控制台输入的一行字符
char[]ch=str.toCharArray();//把取道的字符串变成一个char数组
for(inti=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判断是否为字母
englishCount++;
}elseif(Character.isSpaceChar(ch[i])){
//判断是否为空格
spaceCount++;
}elseif(Character.isDigit(ch[i])){
//判断是否为数字
numCount++;
}else{
//以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母的个数:"+englishCount);
System.out.println("数字的个数:"+numCount);
System.out.println("空格的个数:"+spaceCount);
System.out.println("其他字符的个数:"+otherCount);
}
}
⑷ 用java编程:任意输入一个字符串,统计其中英文字母a和i的个数,并将该字符串输出。
下面的代码只是处理中间没有空格的一串字符;要处理有空格的只需把字符串A的创建改成
字符串数组String [] A = new String[30];输入和判断就用循环搞定。我也是这学期选修的java,有什么不足还请指正。
import java.util.*;
public class tongji
{
public static void main(String[] args)
{
String A;
char[] B = new char[30];
int a=0;
int i=0;
int l;
Scanner input = new Scanner(System.in);
System.out.println("输入一串字符:");
A=input.next();
l=A.length();
for(int k=0;k<l;k++){
B[k] = A.charAt(k);
if(B[k]=='a')a++;
if(B[k]=='i')i++;
while(B[k]=='\0')break;
}
System.out.println("a :"+a);
System.out.println("i :"+i);
for(int j=0;j<l;j++){if(B[j]!='\0')System.out.print(B[j]);
}
}
}
⑸ java中如何统计某个字母在一个字符串中出现了多少次
1、根据length获取字符串长度
1
2
String s = "abcdedfae";//定义一个字符串
int len = s.length();//获取原来的字符串长度
2、通过replaceAll方式,把字符串中该字母替换成空
1
String s1 = s.replaceAll(要统计的字母,"");
3、获取替换后的字符串长度
1
int len2 = s1.length();
4、原来的字符串长度减去替换后的字符串长度就是该字母出现的次数
1
int lenTimes = len1-len2;//出现的次数
⑹ java中如何统计某个字母在一个字符串中出现了多少次啊
1、根据length获取字符串长度
Strings="abcdedfae";//定义一个字符串
intlen=s.length();//获取原来的字符串长度
2、通过replaceAll方式,把字符串中该字母替换成空
Strings1=s.replaceAll(要统计的字母,"");
3、获取替换后的字符串长度
intlen2=s1.length();
4、原来的字符串长度减去替换后的字符串长度就是该字母出现的次数
intlenTimes=len1-len2;//出现的次数
⑺ Java编程统计字母出现次数
如果使用Java中的一些结合==集合类会简便一些,但我这里还是硬来,
实例:输入jacka
输出:
k:0.2
c:0.2
j:0.2
a:0.4
觉得我做的辛苦的话,多加点分吧
代码:
import java.util.*;
public class CharNumber {
public void test()
{
Scanner scan=new Scanner(System.in);
System.out.println("input the string:");
String s=scan.nextLine();
char[] ch=s.toCharArray();
double[] percent=new double[ch.length];//存放比例
char[] resultch=new char[ch.length];
int[] resultnum=new int[ch.length];
int index=0;
for(int i=0;i<ch.length;i++)
{
if(i==0) {
resultch[index]=ch[i];
resultnum[index]++;
}
else
{
int j;
for(j=0;j<=index;j++)
{
if(ch[i]!=resultch[j]) {
continue;
}
else {
resultnum[j]++;break;
}
}
if(j>index) {
index++;
resultch[index]=ch[i];
resultnum[index]++;
}
}
}
for(int x=0;x<=index;x++)
{
percent[x]=Math.round(((double)resultnum[x]/ch.length)*100)/100.0;
}
//排序,插入排序
for(int ii=1;ii<=index;ii++)
{
int pos=ii;
int prepos=pos-1;
double temp=percent[pos];
double pre=percent[prepos];
char tempch=resultch[pos];
while(prepos>=0)
{
if(temp<pre)
{
percent[prepos+1]=percent[prepos];
resultch[prepos+1]=resultch[prepos];
prepos--;
}
else {
percent[prepos+1]=temp;
resultch[prepos+1]=tempch;
break;
}
}
if(prepos<0){
percent[prepos+1]=temp;
resultch[prepos+1]=tempch;
}
}
//输出
for(int i=0;i<=index;i++)
{
System.out.println(resultch[i]+":"+percent[i]);
}
}
}
⑻ java编写统计字符串中的字母.数字和其他字符的个数
1、输入字符
2、把输入的字符转成小写
3、根据ASCII判断字符的类型并在相应的上面+1
4、结束,输出。
⑼ 编写java程序统计字符个数。
inteng=0;
intspace=0;
intnum=0;
intother=0;
Scannersc=newScanner(System.in);
System.out.println("请输入");
Stringstr=sc.next();
char[]arr=str.charAt();
for(inti=0;i<arr.length;i++){
if((arr[i]>='A'&&arr[i]<='Z')||(arr[i]>='a'&&arr[i]<='z')){
eng++;
}elseif(arr[i]==''){
space++;
}elseif(arr[i]>='0'&&arr[i]<='9'){
num++;
}else{
other++;
}
}
System.out.println("英语字母个数:"+eng);
System.out.println("空格个数:"+space);
System.out.println("数字个数:"+num);
System.out.println("其他个数:"+other);
⑽ 有一个字符串,如何用java统计其所含有字母及其次数
public class Test {
public static void main(String[] args) {
String str = "hello,. worldz!";
int[] result = new int[123];
//把非字母去掉
char[] charArr = str.replaceAll("[^a-zA-Z]", "").toCharArray();
for (char c : charArr) {
result[c] = result[c] + 1;
}
for (int i = 0; i < result.length; i++) {
if (result[i] != 0) {
char c=(char)i;
System.out.println(c+": "+result[i]);
}
}
}
}