⑴ 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]);
}
}
}
}